home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 13 / CU Amiga Magazine's Super CD-ROM 13 (1997)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1997-08].iso / CUCD / Graphics / WildFire / WildFireFPU / Doc / Wildfire.guide (.txt) next >
Amigaguide Document  |  1997-06-06  |  229KB  |  4,850 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V3.14
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.     @{"  1. Introduction          " link introduction   }   @{" 11. Known Bugs            " link Bugs           }
  18.     @{"  2. System Requirements   " link requirements   }   @{" 12. Authors               " link Authors        }
  19.     @{"  3. Installation          " link installation   }   @{" 13. Copyright             " link Copyright      }
  20.     @{"  4. Usage                 " link Usage          }
  21.     @{"  5. Technical information " link Technical      }   @{" 14. Developer-Information " link Developer      }
  22.     @{"  6. Main Documentation    " link MainWindow     }   @{" 15. FAQ                   " link FAQ            }
  23.     @{"  7. Available Effects     " link OperatorsWindow}
  24.     @{"  8. PowerPlugs!           " link PowerPlugs!    }   @{" 16. Shareware             " link Shareware      }
  25.     @{"  9. The YAFA Player       " link yp.guide/MAIN  }   @{" 17. Tutorials             " link Tutorials      }
  26.     @{" 10. ARexx                 " link ARexx          }   @{" 18. Wildfire Demos        " link Demos          }
  27. Documentation-Authors : Andreas K
  28. ssner, Andreas Maschke
  29. Last Changes          : Monday 2-Jun-97
  30. Version               : 3.14
  31. Wildfire-Support      : eksec@eure.de
  32. @endnode
  33. @remark TODO:
  34. @remark  -Tutorials
  35. @remark  -Developer-kit
  36. @node Introduction
  37. ---------------------------------------------------------------------
  38.            Wildfire - where dreams become virtuality
  39.             A Special Effect Program and many more
  40. ---------------------------------------------------------------------
  41. @{ub}
  42. Wildfire is not only another brandnew image-processing-program -
  43. it's a professional animation-processor with some really new concepts.
  44. It allows you for example the creation and processing of animations in
  45. several formats, the generation of time-dependant special-effects
  46. and the design of large projects containing several animations and
  47. frame-synchronized sound-effects.
  48. Because the common animation-formats on the Amiga have too many
  49. lacks or restrictions we have tried to create a better one: YAFA.
  50. This animation-format for example features many compression-methods
  51. and realtime-zooming.
  52. One of the outstanding features of Wildfire is the fact that it
  53. makes for you no difference if you apply changes to a whole animation
  54. or if you process only one image. A single image is only a
  55. very special case of an animation.
  56. In contrary to common image-processors you can use envelopes instead
  57. of plain numbers as effect-parameters. This makes the easy creation
  58. of time-dependant special-effects possible.
  59. So you haven't to fight against the "do"-loops in an ARexx-script to
  60. get an animation outside your image-processor anymore.
  61. All of the numerous effects can be arranged in any number and
  62. combination. Because the output of any of these effects can be
  63. one of the 8 tempory-buffers Wildfire allows you to
  64. PROGRAM IMAGES in an comfortable way !
  65. Main Features:
  66.   -fast and comfortable Converter:
  67.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  68.     output: YAFA, ANIM5/7/8, image-sequences
  69.   -Preview for almost any operation
  70.   -Project-Editor which allows the creation of large and complicated
  71.    projects easily using the mouse
  72.   -Effect-Generator featuring time-dependant parameters via envelopes
  73.   -a stunning library of effect-PlugIns
  74.   -some really new effects, real 3D-effects, lightsources
  75.   -superposition of 3D-effects (PowerPlugs!)
  76.   -superposition of Lightwave-objects and Images in the
  77.    threedimensional space
  78.   -phong-shading
  79.   -(un)loading of PlugIns at any time
  80.   -Envelope-Editor
  81.   -Timecodes-Editor
  82.   -Transition-Maker for easy creation of transitions between two animations
  83.   -easy-to-use Player-interface
  84.   -Filmstrips to simplify the perfect timimg of huge projects
  85.   -AnimInfo-function displaying size-profiles etc.
  86.   -fontsensitive GUI without MUI
  87.   -internal gadget-toolbox which handles mathematical expressions
  88.    instead of only plain numbers
  89.   -calculator which allows for example the export of user-defined symbols
  90.    to the gadgets in the whole-program
  91.   -Drag&Go
  92.    (using drag.gadget 0.2  Copyright 
  93.  1996 J
  94. rg Kollmann, see bonus drawer!)
  95.   -ARexx-port with about 400 commands
  96.   -macros, custom-windows, docks
  97.   -import of images from other programs
  98.   -Developer-Kit (with working example) which allows you to create
  99.    your own effect-PlugIns
  100.   -and many more
  101. @endnode
  102. @node Requirements
  103.   @{b}Requirements@{ub}
  104.   @{u}Hardware@{uu}
  105.     -Processor:    68020
  106.     -Graphics :    AGA or gfx-board (The program may work with ECS
  107.                    but this is not recommended)
  108.     -Memory   :    FastRAM is strongly recommended but actually
  109.                    not required
  110.      Most of the effects (even transitions between two animations!) run
  111.      on an standard 2 MB A1200!
  112.   @{u}Software@{uu}
  113.     -operation system V39 (3.0)
  114.     -XPK compression system (xpkFAST recommended)
  115.   The program was successfully  tested  on A1200 (030, 060) and
  116.   A4000 (030, 040) with several disk and memory configurations.
  117. @endnode
  118. @node Installation
  119.   @{b}Installation@{ub}
  120.   Normally the installation is done by executing the supplied
  121.   installer-script. If this doesn't work (sometimes the
  122.   installer-program hangs up on my system) the installation can
  123.   be done by hand easily.
  124.   Just move all files extracted from the "Wildfire-Main"-archieve into
  125.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  126.   file "Wildfire.config" and move into "envarc:". That's it.
  127.   @{b}File-Hierarchy@{ub}
  128.     Wildfire
  129.     +---system               -private files
  130.     |   +---plugIns            *PlugIns-rootdrawer
  131.     |   |   +---operators        operators for the processor
  132.     |   |   +---general          general PlugIns
  133.     |   |   +---system           preferences for all types of PlugIns
  134.     |   |   \---savers           savers and loaders
  135.     |   +---images             *icons for the icon-manager
  136.     |   +---filmstrips         *filmstrips for the Transition-Maker
  137.     |   \---help               *some text-files
  138.     +---alpha                -alpha-images
  139.     +---trash                -temporary files
  140.     +---expressions          -expressions and symbols for the calculator
  141.     +---profiles             -size-profiles of animations
  142.     +---YAFAOptions          -YAFA-Compressor-settings
  143.     +---annotations          -annotations and text-files
  144.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  145.     +---doc                  -documentation and online-help-files
  146.     +---envelopes            -envelopes for the Processor
  147.     +---filmstrips           -Filmstrips
  148.     +---images               -Images
  149.     +---macros               -ARexx-Macros
  150.     +---processes            -Processor-scripts
  151.     +---projects             -Video-projects
  152.     +---sessions             -Converter-sessions
  153.     +---variables            -Variables for the Processor
  154.     \---windows              -Custom-windows
  155. @endnode
  156. @node Bugs
  157.   @{b}Known bugs@{ub}
  158.    -the program may crash if you run out of memory
  159. @endnode
  160. @node Authors
  161.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  162.   Andreas Maschke  (WK-Artworks)
  163.   Zenkerstra
  164.   06108 Halle/Saale
  165.   Germany
  166.   EMail: epgbc@cluster1.urz.Uni-Halle.DE (only VERY serious requests)
  167.   @{b}Player, YAFA-concept, Ideas@{ub}
  168.   Michael Henke  (Smack/Infect)
  169.   Praetoriusstr. 1/205
  170.   06124 Halle/Saale
  171.   Germany
  172.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  173.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  174.   Andreas K
  175. ssner
  176.   Bernard Krone Str. 15
  177.   48480 Spelle
  178.   Germany
  179.   EMail: eksec@eure.de (FULL Wildfire-Support)
  180.   Tel. : ++49(0)5977/939249
  181. @endnode
  182. @node Copyright
  183. @{b}Copyright@{ub}
  184. The program WF is Copyright (c) 1996-97 WK-Artworks (Andreas Maschke).
  185. All rights reserved.
  186. Commercial use is prohibited, if you want to use it for commercial purposes
  187. you have to get an explicit permission from the @{"author" link Authors} first.
  188. Wildfire is released as @{" Shareware " link shareware}. There are two different versions:
  189. @{u}Unregistered Demo-Version:@{uu}
  190. It is allowed to charge a fee to recover distribution costs, but no profit
  191. may be made by selling or otherwise distributing the program.  It is not
  192. allowed to distribute only parts of the package or a modified program.
  193. @{u}Regisered Version:@{uu}
  194. The unregistered version is turned into a registered one if you use
  195. a personalized key file that registered users receive from me.
  196. It's strictly forbidden to give the registered key file
  197. to other users ! Giving the key file to other users, using key files that
  198. you did not receive directly from me for your personal use is
  199. considered as an act of software piracy !
  200. It is not allowed to disassemble or otherwise reverse engineer
  201. any part of one of the Wildfire-related programs.
  202. @{b}Disclaimer@{ub}
  203. No guarantee is given nor implied that this program is fit for any use.
  204. The program and the information within this text are provided on "AS-IS"
  205. basis. The entire risk as to its quality and performance is with the user.
  206. In no event will the author be liable for direct, indirect, incidental or
  207. consequential damages resulting from any defect in the program. The author
  208. reserves the right to make changes to the program or the documentation
  209. without notice.
  210. @endnode
  211. @node shareware
  212. @{b}Shareware@{ub}
  213. Because the demoversion has all features of the full version you can
  214. test everything before you decide to buy the program.
  215. The only restriction of the Demo-version is that all
  216. dynamically allocated memory will be stored until you quit the
  217. program - this makes it impossibible to process large projects
  218. or many pictures during one session.
  219. But this gives you the possibibily to test *all* program-features
  220. before buying the full version.
  221. The price for the full version of Wildfire is 50,00 DM or 40,00 US-$. Just
  222. compare Wildfire to other programs yourself and you will know what to do ...
  223. The price for @{" PowerPlugs!" link PowerPlugs!} is the same.
  224. If you already got registered for Wildfire and want to obtain PowerPlugs!
  225. separately you have to specify your serial-number which may be obtained
  226. from the @{" Info-Window " link InfoWindow} of the program.
  227. There are two possibilities to order Wildfire and/or PowerPlugs!.
  228. @{b}1.@{ub} Send the money (cash only) in a letter to:
  229.      Andreas K
  230. ssner
  231.      Bernard Krone Str. 15
  232.      48480 Spelle
  233.      Germany
  234. Please write down your full NAME and ADDRESS and the COMPUTERTYPE you use.
  235. You`ll get your personal wildfire.library.
  236. Please write down where you got the Demo-Version from.
  237. Please do NOT send any cheques !
  238. Please do NOT make any kind of payment in a currency other than US-$
  239. or DM !
  240. If you want to send cheques or similar instead of cash the total price
  241. increases by $20 or 30,00 DM because of the high bank-fees !
  242. @{b}2.@{ub} Send a letter to:
  243.      Andreas K
  244. ssner
  245.      Bernard Krone Str. 15
  246.      48480 Spelle
  247.      Germany
  248. Please write down your full NAME and ADDRESS and COMPUTERTYPE you use.
  249. You`ll get your personal wildfire.library.
  250. Please write down where you got the Demo-Version from.
  251. Transfer the money to the following account:
  252.      Bank  : HYPO-BANK Leipzig
  253.      BLZ   : 8602 0880
  254.      KTO   : 5100 1479 14
  255.      Owner : Andreas Maschke
  256. Please write as usage:
  257.      <Your Name + City>
  258.      Wildfire Registration
  259. Send your transfer-receipt inside the letter to A. K
  260. ssner.
  261. -------------------------- cut --------------------------
  262.                        Wildfire registration
  263. Name:          ____________________________
  264. Street:        ____________________________
  265. City:          ____________________________
  266. Country:       ____________________________
  267. Email:         ____________________________
  268. Computertype:  Amiga _________
  269. OS-Version:    _______________
  270. Processor:     68___ ___ MHZ
  271. Coprocessor:   _____ ___ MHZ
  272. Memory:        ____ MB Fast  ____ MB Chip
  273. HD-Space:      ____ MB
  274. Zip/Syquest:   ____ which type? _____________________
  275. CD-ROM:        ____ x speed
  276. Where did you got the demo version from? _______________________
  277. Which is your current version?           _______________________
  278. Wildfire registration fee:
  279. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  280. PowerPlugs! registration fee:
  281. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  282. Money transferred to                                       ____ (yes/no)
  283. Bank:     HYPO-BANK Halle/Saale
  284. BLZ:      8602 0880
  285. KTO:      5100 1479 14
  286. Owner:    Andreas Maschke
  287. please write as usage:
  288. <Your Name + City>
  289. Wildfire Registration
  290. Send your transfer-receipt inside the letter to A. K
  291. ssner!
  292. -------------------------- cut ------------------------------------
  293. @endnode
  294. @node Usage
  295. @{b}Usage@{ub}
  296. The program can be directly started from the Workbench or
  297. by typing "wf [options]" in a shell-window.
  298. Most operations can be done both using the mouse and the keybord.
  299. There are no menus because the AGA-hardware is too slow to
  300. render pulldown-menus on a screen with 32 or more colors.
  301. But 16...64 colors are recommended using the preview-function
  302. which is one of the major features of the program.
  303. The other reason is the fact that Wildfire has too many
  304. functions (about 120 windows containing about 1600 gadgets)
  305. to put them into menus without a very complex hierarchy.
  306. @{b}Options@{ub}
  307.  -h         : exit the program after displaying some informations
  308.  -debug     : turn on debug-output
  309.  -noPlugIns : don't display the intro-picture and load only the
  310.               few saver-PlugIns at startup
  311. @endnode
  312. @remark /*************************************************************/
  313. @remark /*
  314. @remark                                 Main
  315. @remark */
  316. @remark /*************************************************************/
  317. @node MainWindow
  318. @{b}The Main-Window@{ub}
  319. After initialization Wildfire opens it's Main-Window on a screen of
  320. your choice.
  321. All major program parts like the Processor or the Preferences-Editor
  322. can be reached from within this Window.
  323. Because Wildfire has a lot of functions and windows there is a
  324. window-hierarchy. E.g., after closing the Converter-Window all
  325. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  326. are closed automatically.
  327. Because the Main-Window is on top of the hierarchy you can quit
  328. the program by closing it.
  329. Another function of the Main-Window is to act as an icon-manager
  330. like Workbench. For almost all files affected by the program like
  331. animations, envelopes, images, ... an icon is created automatically
  332. and placed on the Icon Area.
  333. After moving such an icon into another window a filetype-specific
  334. operation is performed.
  335. @{b}Functions:@{ub}
  336.                                                     @{" Converter   " link ConverterWindow}
  337.                                                     @{" Projects    " link ProjectsWindow}
  338.                                                     @{" Processor   " link ProcessorWindow}
  339.                                                     @{" Player      " link PlayerWindow}
  340.                                                     @{" TMaker      " link TMakerWindow}
  341.                                                     @{" Preferences " link PreferencesWindow}
  342.                                                     @{" PlugIns     " link PlugInsWindow}
  343.                     @{" Icon Area " link IconArea}
  344.                                                     @{" Icons       " link IconsWindow}
  345.                                                     @{" DWA         " link DWAWindow}
  346.                                                     @{" Log         " link LogWindow}
  347.                                                     @{" Info        " link InfoWindow}
  348.                                                     @{" Quit        " QUIT}
  349. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  350. @endnode
  351. @node IconArea
  352. @{b}Icon Area@{ub}
  353. The Icon Area of the Main Window acts as a desktop. You can place,
  354. move or put files on it.
  355. There are four special icons which are initialized at startup
  356. automatically. If you drop a file-icon over one of these icons a
  357. filetype-specific operation is performed.
  358. Trashcan:  To delete icons and files. The default is to delete the
  359.            icons only. This behaviour can be changed from within
  360.            the @{"Icons-Window" link IconsWindow}.
  361. Player:    To play animations.
  362. Viewer:    To display images.
  363. Editor:    To edit or view textfiles.
  364. The external programs envoked can be specified from within
  365. the  @{" Preferences-Window" link PreferencesWindow}.
  366. On the bottom of the Main-Window there some addional functions which
  367. deal with icons:
  368. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  369. @endnode
  370. @node IconFunctions
  371. @{b}Add@{ub}
  372. Using this function you can put one or more external files on the
  373. desktop.
  374. For example you could select 20 images to drop them sequentially
  375. over the Viewer-icon and delete the ugly ones.
  376. @{b}Cleanup@{ub}
  377. After pressing this button the Icon Area is cleanup up.
  378. @{b}Reset@{ub}
  379. This function removes all file-icons from the desktop and
  380. puts the four special icons on it.
  381. @{b}Load@{ub}
  382. The Load-function restores a previous saved desktop.
  383. To make this operation as simple as possible a default
  384. filename is used. This filename can be changed from
  385. within the @{" Icons-Window " link IconsWindow}.
  386. @{b}Save@{ub}
  387. This saves the contents of the whole desktop as the file
  388. specified in the @{" Icons-Window " link IconsWindow}.
  389. @endnode
  390. @remark /*************************************************************/
  391. @remark /*
  392. @remark                            Converter
  393. @remark */
  394. @remark /*************************************************************/
  395. @node ConverterWindow
  396. @{b}Introduction@{ub}
  397. The Converter is the program part which has to do the most
  398. hard jobs.
  399. It reads in a stream of data, performs some or many special
  400. effects on it and writes the results to harddisk.
  401. Unlike to common programs there is only a small difference
  402. for the user to perform easy or very complex operations.
  403. Example:
  404. 1. You want to convert a mpeg-animation into an IFF-Animation.
  405.    This is easy. Selected the input- and the output-file, adjust
  406.    the compression-parameters and press the "Convert"-button.
  407. 2. You want to scale down the input frames because you
  408.    have not enough diskspace.
  409.    This is easy. Just enable the Processor, open the Processor-Window
  410.    and add a "Halve"-effect. That's all.
  411. 3. You want to convert only some of the images, e.g. frames 31...54.
  412.    This is easy. Just open the CRange-window and enter these numbers.
  413. 4. You want to have a small animation in front of a large background.
  414.    This is easy. Enable the processor and use a "LoadImage"- and
  415.    a "Compose"-effect. That's all again.
  416. I could write thousand of such examples here - all of them where
  417. easy to realize.
  418. @{b}Converter-Window@{ub}
  419. @{u}Input@{uu}
  420. Type               Select the type of input: "Animation", "SinglePictures"
  421.                    or "BlackFrames"
  422. Info               Display some type-dependant information about the
  423.                    input-animation
  424. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  425.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  426. @{u}Output@{uu}
  427. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  428.                    or "NIL:"
  429. Info               Display some type-dependant information about the
  430.                    generated output-animation
  431. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  432.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  433. @{u}Options@{uu}
  434. Annotation         Optional annotation string or file to include in a YAFA-animation
  435. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  436.                    range of the input-stream to be processed
  437. Preview            Select the preview-type (none/window/screen)
  438. Processor          Enable the Processor to modify the input-stream
  439. @{u}Operation@{uu}
  440. Save Session       Save all options including the current window-settings
  441.                    and the Processor-settings as the specified session-file
  442. Load Session       Restore a previously saved session
  443. Convert            Start the converter
  444. All combinations of input- and output-streams are possible. A special
  445. case is input=output=SinglePictures. This feature is not obsolete,
  446. it allows you to create a sequence with numbered filenames from
  447. pictures having different locations.
  448. If you specify "NIL:" as output-stream no frames are written. This feature
  449. is especially usefull for testing complicated Processor-scripts.
  450. The Converter can be aborted at any time - in the most cased the
  451. cancelled output-stream will be usable.
  452. @endnode
  453. @node CRangeWindow
  454. @{b}CRange-Window@{ub}
  455. From within this window the range of the processed input-stream is
  456. specified.
  457. @{b}Functions@{ub}
  458. State         Enable/disable the current range-settings
  459. From          First frame
  460. To            Last frame, if a negative value is specified the number
  461.               of input-frames is decremented by this value
  462. Step          Range-step, usefull for example to skip every 2nd frame
  463. Remove loop   A preset to skip the looping frames of an IFF-animation
  464. If the range is disabled the whole input-stream is processed.
  465. @endnode
  466. @node IFFOptionsWindow
  467. @{b}IFFOptions-Window@{ub}
  468. This window let you select various settings for IFF-animations
  469. to be generated.
  470. @{b}Functions:@{ub}
  471. Related Options:
  472. Type        Compression type
  473. Colormap    Dynamic or static colormap
  474. Screenmode  Screenmode used while playing the animation
  475. @endnode
  476. @node SinglePicturesWindow
  477. @{b}SinglePictures-Window@{ub}
  478. Using this window you can set up some options which
  479. affect the generation of single pictures.
  480. @{b}Functions:@{ub}
  481. Basename       base-filename for the generated files, the frame-number
  482.                will be appended in the format ".%04d",
  483.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  484. Shift Frames   Value to add to the frame-number before generating
  485.                the filename
  486. Screenmode     Screenmode used while displaying the frames
  487. Type           Toggles rendering on or off.
  488. @endnode
  489. @node YAFAOptionsWindow
  490. @{b}YAFAOptionsWindow@{ub}
  491. This window lets you adjust the various settings for YAFA-animations
  492. to be generated.
  493. @{b}Functions:@{ub}
  494. Image data        Internal representation of the image-data
  495. Colormap          Dynamic or static colormap
  496. Force Timecodes   Force the creation of timecodes even they are all equal
  497. Speed             Speed-preset for the Player (fps=50/speed on Pal)
  498. Post Compression  Turn on xpk-post-compression
  499. Compressor        Select xpk-compressor
  500. Mode              Select xpk-compression-mode, see xpk references for
  501.                   more details
  502. Delta Compression Choose the type of delta compression
  503. UC-Frames         Choose the number uncompressed delta-frames
  504. UC-Mode           Choose the type of uncompressed delta-frames
  505. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  506.                   some predefined combinations of settings.
  507. Import            Extract the settings from an external YAFA-animation
  508. Load              Load a previous saved settings-file
  509. Save              Save all YAFA-settings into a settings-file
  510. @endnode
  511. @node AnalysisWindow
  512. @{b}Analysis-Window@{ub}
  513. The functions of this window are useful if you have no idea about the
  514. meaning of the various parameters. It creates some animations using
  515. some predefined settings and displays the resulting size-profiles.
  516. After that the settings of the smallest generated animation is selected
  517. and can be applied to the YAFAOptions-Window.
  518. @{b}Functions:@{ub}
  519. Frames        Number of frames generated for every test
  520. Run test      Start the test
  521. Results       Displays some informations like the output-size
  522.               and the used settings for every generated animation
  523. Size Profile  Displays a size-profile for every generated animation, the
  524.               one of the selected animation is highlighted
  525. Use           Apply the settings of the selected animation to the
  526.               YAFAOptions-Window
  527. @endnode
  528. @node PictureListWindow
  529. @{b}PictureList-Window@{ub}
  530. The picturelist has many features to create and manipulate a
  531. list of pictures to be converted.
  532. @{b}Functions:@{ub}
  533. Add          Add one or more pictures
  534. Add Reverse  Add one or more pictures in reverse order
  535. Add Dir      Add a whole directory
  536. Sort         Sort the complete list
  537. Check        Remove non-ILBM files and pictures that don't fit the
  538.              first entry's dimensions (width, height, depth) from list,
  539.              this functions makes only sense if the Processor is 
  540.              turned off
  541. Remove       Remove selected item from list
  542. Remove Range Remove all items inside the selected range from the list
  543. Set Timecode Set the timecode for selected item
  544. Time Range   Set timecodes for all items inside the specified range
  545. Show         Display the selected picture
  546. Picture Info Display some informations about the selected item
  547. From         First item of the range
  548. To           Last item of the range
  549. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  550. @endnode
  551. @node BlackFramesWindow
  552. @{b}BlackFrames-Window@{ub}
  553. The BlackFrames-Window is usefull if you want to render an animation
  554. using only Wildfire. An example would be a rotating cube with some
  555. pictures mapped on it.
  556. @{b}Functions@{ub}
  557. Frames     Number of the frames to be generated
  558. Width      Width of the frames
  559. Height     Height of the frames
  560. The BlackFrames-stream is some kind of a simulation of a real
  561. picturelist or input-animation. The most important field is the number
  562. of frames. If the Processor-script doesn't use the generated input
  563. its recommended to make the size-values very small, e.g. 32x20.
  564. @endnode
  565. @remark /*************************************************************/
  566. @remark /*
  567. @remark                            Projects
  568. @remark */
  569. @remark /*************************************************************/
  570. @node ProjectsWindow
  571. @{b}Projects-Window@{ub}
  572. The animation-projects created with this editor are arrangements of
  573. YAFA-animations and music modules, samples and executables.
  574. Projects are saved as text files which can played from within
  575. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  576. with the "-batch"-option.
  577. Projects are the perfect choice if you want to create huge videos
  578. because the YAFA-system has the capability to play more small animations
  579. as one without any gaps.
  580. Another advantage is the fact that you can apply changes to such
  581. a project much easier than to a single huge animation.
  582. @{b}Functions:@{ub}
  583. @{u}Animations@{uu}
  584. Add            Include a YAFA-animation (*)
  585. Kill           Remove the selected animation from the list
  586. Replace        Replace the selected file
  587. Up/Down        Move selected item up/down in the list
  588. Local Range    Specify the first first and last frame to be played
  589.                 Example: the selected animation has 100 frames
  590.                          1, 100  - exactly one shot
  591.                          11,  50 - skips first 10 frames, plays 40 frames
  592.                          51, 250 - plays the complete animation exactly
  593.                                    two times, start/end are moved by 50 frames
  594. Global Range   Shows range as global frame numbers in the project
  595. Info           Display some information about the selected animation
  596.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  597. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  598. @{u}Sounds@{uu}
  599. Add            The same like (*) for modules, samples or executables
  600. Kill           Dito
  601. Replace        Dito
  602. Global Range   Set global frame numbers to start/stop playing selected sound.
  603.                An executable will be started when the player reaches the start
  604.                value.
  605.                A special case is the range  0,0 for executables. These
  606.                commands will be executed before the YAFA-Player shuts down
  607.                intuition - so  you can use commands that have an output
  608.                (like a cd-player)
  609. Type           specify the type of sound-effect
  610. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  611. @{u}Project@{uu}
  612. Frames         Shows the number of frames the whole project consists of
  613. Play selected  Play project starting with the selected item
  614. Play all       Play the whole project
  615. Profile        Open the @{"Profile-Window" link ProfileWindow}
  616. Identify       Calculate animation and frame number from a global frame number
  617. Save All       Save all frames played in the project using the picture
  618.                basename specified in the @{"Converter" link ConverterWindow}
  619. Clear          clear the whole project
  620. Project File   select file to load/save
  621. @endnode
  622. @node ProfileWindow
  623. @{b}Profile-Window@{ub}
  624. The Profile-Windows is  made to visualize the ranges of animations
  625. and sounds of a project.
  626. @{b}Functions@{ub}
  627. Animations     Shows bars representing the global ranges of the animations
  628. Sounds         The same for sound-effects
  629. Size-Profile   Show a size-profile of the whole project
  630. Full View      Scale the bars horizontally to fit the whole project in
  631.                the window
  632. Lines          Number of visible lines, the best choice depends on the
  633.                used font
  634. Because the range of a particular animation effects the whole project
  635. it can not be changed from within this window. But you can set ranges
  636. of sound effects using the mouse:
  637. Left Button    Drag startpoint
  638. Right Button   Drag endpoint
  639. @endnode
  640. @node ModuleWindow
  641. @{b}Module-Window@{ub}
  642. This edit-window appears if the selected item is a protracker module
  643. which will be played with the internal player.
  644. @{b}Functions:@{ub}
  645. File        Filename which can be changed here
  646. Test        Hear the module
  647. Stop        Stop playing
  648. @endnode
  649. @node SampleWindow
  650. @{b}Sample-Window@{ub}
  651. If the selected sound-effect is an IFF 8SVX sample this window appears.
  652. @{b}Functions:@{ub}
  653. File        Filename which can be changed here
  654. Test        Hear the sample
  655. Channel     Select the audio channel (ignored when playing stereo samples)
  656. Repeat      How often the sample is played, a value of 0 causes an
  657.             endless loop
  658. Volume      Adjust the volume
  659. Stop        Stop playing
  660. @endnode
  661. @node CommandWindow
  662. @{b}Command-Window@{ub}
  663. This window is for editing commands.
  664. String        The command you want to execute. You can type in whatever
  665.               you want, e.g.
  666.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  667.                "CDPLAY 4" or
  668.                "delete s:startup-sequence"
  669. Test          To execute the command.
  670. @endnode
  671. @node FilmStripWindow
  672. @{b}Filmstrip-Window@{ub}
  673. From within this window you can create, modify and play filmstrips.
  674. A filmstrip is a small representation of a single animation
  675. or a whole project. Such filmstrips are for example played
  676. in the middle the TMaker-Window.
  677. @{b}Animation@{ub}
  678. Animation     Filename of the animation or project to be converted
  679. From/To/Step  Range changes the pictures which will be used for the film
  680. Width         The width of the filmstrip
  681. Color         Type of palette to be generated
  682. Update        Start converting
  683. @{b}Film@{ub}
  684. Film          Filename of the Filmstrip
  685. Rows/Cols     Specifys the layout while displaying or playing
  686. Load/Save     Load/save a filmstrip
  687. Play          Play the selected filmstrip as movie, to change the
  688.               speed use the numeric keys
  689. Append        Append the selected filmstrip to the current (displayed) one
  690. @endnode
  691. @remark /*************************************************************/
  692. @remark /*
  693. @remark                            Player
  694. @remark */
  695. @remark /*************************************************************/
  696. @node PlayerWindow
  697. @{b}PlayerWindow@{ub}
  698. This window acts as a GUI for the external animation players like
  699. the YAFA-Player "yp".
  700. Some of the functions are only available for YAFA-animations.
  701. @{b}Animation@{ub}
  702. File          filename of a single animation or a Wildfire-project
  703. Display       select the realtime-transformations done by the YAFA-Player
  704. Cache         don't play YAFA-animations directly from harddisk
  705. FrameBuffers  cache-buffer for the YAFA-player
  706. LoadBuffer    load-buffer for the YAFA-player
  707. @{b}Information@{ub}
  708. Animation     show type-specific informations about the selected animation
  709. Shortcuts     show the shortcuts of the YAFA-player
  710. In case of YAFA- or IFF-animations a size-profile and some informations
  711. about the used compression is displayed.
  712. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  713. @{b}Player@{ub}
  714. Output        select the type of display for the YAFA-player
  715. Wait          after setting this option the YAFA-Player waits for a
  716.               SPACE-press before playing
  717. @endnode
  718. @node TimeCodesWindow
  719. @{b}TimeCodes-Window@{ub}
  720. This window allows you to modify the timecodes of YAFA- and
  721. IFF-animations. A special feature is importing/exporting
  722. files. This makes it possible to modify timecodes graphically
  723. using the @{" Envelope-Editor " link EnvelopeWindow}.
  724. @{b}Functions:@{ub}
  725. From, To, Step    range to be modified
  726. Set Timecode      set a single timecode
  727. Time Range        change all timecodes inside the specified range
  728. Import            import timecodes from a file saved by the Timecodes-Editor
  729.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  730. Export            save the current timecodes to disk
  731. Show              show the selected frame of the animation
  732. Play              play the whole animation to test the changes
  733. @endnode
  734. @remark /*************************************************************/
  735. @remark /*
  736. @remark                            TMaker
  737. @remark */
  738. @remark /*************************************************************/
  739. @node TMakerWindow
  740. @{b}TMaker-Window@{ub}
  741. The transition maker creates various predefined transitions between
  742. two animations also known as "wipes". This feature is very useful in
  743. conjunction with animation-projects.
  744. It's recommended to install the example-filmstrips which show
  745. two animations (called "A" and "B") and the selected transition
  746. from "A" into "B" (called "A->B") as small animations in the middle
  747. of the Transition-Window. The Filmstrip-Player is implemented as a
  748. background-task at low priority so no cpu-time is wasted.
  749. Because only YAFA-animations can be arranged in animation-projects
  750. only this output-format is supported yet.
  751. @{b}Functions:@{ub}:
  752. Input1         Input animation 1
  753. Input2         Input animation 2
  754. Output         Output animation (the transition)
  755. Temp           A directory used for the temporary files which will be
  756.                created while rendering
  757. CreateEX       If you have only the small installation of Wildfire without
  758.                transition-filmstrips this button will create them for you.
  759.                To test if you have the example transitions just enable
  760.                the "Example"-option. After that three animations should
  761.                appear in the middle of the window.
  762.                If they doesn't you may create them by pressing the
  763.                "CreateEX"-button.
  764. YAFAOpts       Adjust the YAFA-compressor-options
  765. Preview        Turn preview on/off
  766. Example        Turn example-movies on/off
  767.                Because this features runs at low priority it may be
  768.                always switched on.
  769. Type           Select the main type of transition
  770. Subtype        Select the subtype of the selected transition
  771. CreateTemp     Create the temporary files
  772.                This files have to be generated only once for a pair of
  773.                input-animations. So you can test various transitions very
  774.                quickly.
  775.                The "Convert"-function creates them automatically if necessary.
  776. KillTemp       Deletes all temporary files.
  777. Play           Play the animation-sequence "anim1 - transition - anim2"
  778. Convert        Create the transition
  779. @endnode
  780. @remark /*************************************************************/
  781. @remark /*
  782. @remark                            Preferences
  783. @remark */
  784. @remark /*************************************************************/
  785. @node PreferencesWindow
  786. @{b}Preferences-Window@{ub}
  787. The Preferences-Window lets you specify most of the program-settings
  788. and handle different settings for different purpose. All modified
  789. settings are active immediately - there are no "Use"- or "Cancel"-
  790. gadgets.
  791. @{b}Functions @{ub}
  792. ScreenType         choose the type of the Wildfire-screen
  793. Screenmode         choose the screenmode
  794. DisplayScreenmode  choose the screenmode for displayed images
  795. ScreenFont         select the font for the Wildfire screen
  796. IconManagerFont    select the font for the Icon Manager
  797. ScreenColors       select the colors for the wildfire screen
  798. Preset             some color-presets. "WF (modern)" is the default
  799. Import             load colors
  800. Export             save colors
  801. PlayerScreen       name of the public screen for the YAFA-Player
  802. DClickTime         time for a double click
  803. Statistics         turn on/off the generation of Player- and
  804.                    Converter-statistics
  805. Expertmode         turn on/off safety-requesters
  806. BrutalBlit         faster blitting
  807. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  808. Paths              open the Paths-Window
  809. Macros             open the Macros-Window
  810. File               the filename of the current Preferences-file
  811. Save               save the current settings
  812. Load               load the specified settings
  813. @{b}Paths-Window @{ub}
  814. From within this window the default paths for animations, pictures, ...
  815. and the external programs are specified.
  816. YAFA Player          player for YAFA-animations (default: "c:yp")
  817. Anim Player          player for ANIM-animations (default: "c:vt")
  818. MPEG-Player          player for MPEG-anims      (default: "c:mp")
  819. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  820. Viewer               image-displaying program   (default: "c:visage")
  821. Editor               text-editor                (default: "c:ed")
  822. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  823. @{b}Macros-Window@{ub}
  824. In this window the ARexx-macros executed after pressing on
  825. of the function-keys can be specified. Because there are only
  826. 10 function keys and maybe lots of macros the <F10>-key
  827. is reserved. After pressing it a filerequester appears
  828. and lets you select the macro to execute.
  829. @endnode
  830. @remark /*************************************************************/
  831. @remark /*
  832. @remark                            Icons
  833. @remark */
  834. @remark /*************************************************************/
  835. @node IconsWindow
  836. @{b}Icons-Window@{ub}
  837. The Icons-Window has three major functions: changing filetypes
  838. of icons on the desktop, setting up of some desktop-specific options
  839. and creating of icons with nearly unlimited size and quality.
  840. @{b}Options:@{ub}
  841. File               filename of the desktop-files
  842. Trashcan-Action    lets you selected if you want to remove only
  843.                    icons or icons and files
  844. @{b}Icon-Saver:@{ub}
  845. Image1             filename of the first (normal) image of the
  846.                    icon to be generated
  847. Image2             optional 2nd image
  848. Icon               icon-file to be generated
  849. Color              sets the type of palette to be generated
  850. Width              specified the icon-width, the height depends
  851.                    on the aspect of the 1st image
  852. Depth              number of colors used for rendering
  853. Convert            After pressing the convert-button the images
  854.                    are loaded, scaled and rendered using the
  855.                    current screen-palette. If you want to create
  856.                    icons for the Workbench you have open Wildfire
  857.                    on the Workbench-screen (temporary). If you want
  858.                    to create icons in high quality use a very high
  859.                    screen-depth and convert the created icons into
  860.                    NewIcons later.
  861. @{b}Change the filetype:@{ub}
  862. If Wildfire didn't recognise the type of an external file correctly
  863. you can change this type by simply dragging the icon into the
  864. Icon-Window. After that a requester displaying the current and
  865. the available filetypes will appear.
  866. @endnode
  867. @remark /*************************************************************/
  868. @remark /*
  869. @remark                              DWA
  870. @remark */
  871. @remark /*************************************************************/
  872. @node DWAWindow
  873. @{b}DWA-Window@{ub}
  874. The DWA-Window allows you to access windows directly. This may
  875. help you to locate special functions in a faster way. After selecting
  876. a window and pressing the <enter>-key the selected window
  877. and all windows which are on top of it in the window-hierarchy are opened.
  878. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  879. the DWA-Window will be opened at startup automatically.
  880. @endnode
  881. @remark /*************************************************************/
  882. @remark /*
  883. @remark                              Log
  884. @remark */
  885. @remark /*************************************************************/
  886. @node LogWindow
  887. @{b}Log-Window@{ub}
  888. All statistics, warnings and some additional informations are
  889. collected and displayed in this window.
  890. Of course this feature can be turned off.
  891. @{b}Functions@{ub}:
  892. State           toggle logfile-generation on/off
  893. Edit            edit the logfile
  894. Delete          delete the logfile
  895. Clear           clear the logfile
  896. Load            load the logfile
  897. Save            save the logfile
  898. Verbose         toggle verbose-mode on/off
  899. SaveAtExit      toggle saving of the logfile at program-exit on/off
  900. @endnode
  901. @node InfoWindow
  902. @{b}Info-Window@{ub}
  903. This window displays some useful informations like the available
  904. memory, the date, the amount of currently allocated memory
  905. and program-informations.
  906. @endnode
  907. @remark /*************************************************************/
  908. @remark /*
  909. @remark                            PlugIns
  910. @remark */
  911. @remark /*************************************************************/
  912. @node PlugInsWindow
  913. @{b}PlugIns-Window@{ub}
  914. The PlugIns-Window gives you control over external Wildfire-programs
  915. known as "General PlugIns".
  916. @{b}Functions@{ub}
  917. Add           add one or more PlugIns
  918. Delete        unload the selected PlugIn
  919. SavePrefs     save the settings of a PlugIn
  920. Open          activate the selected PlugIn
  921. Close         deactivate a PlugIn
  922. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  923. If the PlugIn was open while saving it will be activated
  924. next time automatically.
  925. @{b}Available PlugIns@{ub}
  926.  @{"  ColorWheel     " link ColorWheelPlugIn}
  927.  @{"  Command        " link CommandPlugIn}
  928.  @{"  ConvertImages  " link ConvertImagesPlugIn}
  929.  @{"  CountPlugIns   " link CountPlugInsPlugIn}
  930.  @{"  EPSSaver       " link EPSSaverPlugIn}
  931.  @{"  GrabWindow     " link GrabWindowPlugIn}
  932.  @{"  TileImage      " link TileImagePlugIn}
  933.  @{"  SlideShow      " link SlideShowPlugIn}
  934. @endnode
  935. @node ColorWheelPlugIn
  936. @{b}ColorWheel-PlugIn@{ub}
  937. The ColorWheel-PlugIn was made to simplify the selection of the right
  938. colors for the various operators.
  939. Just select a color of your choice and use the values indicated at
  940. the bottom of the window as effect-parameters.
  941. @endnode
  942. @node CommandPlugIn
  943. @{b}Command-PlugIn@{ub}
  944. The Command-PlugIn executes the supplied input-string as
  945. Wildfire-ARexx-command.
  946. This may be useful while creating complicated macros
  947. or simply to test out how a particular command works.
  948. @endnode
  949. @node ConvertImagesPlugIn
  950. @{b}ConvertImages-PlugIn@{ub}
  951. The ConvertImages-PlugIn converts a drawer of images keeping
  952. all filenames. No special-effects can be applied.
  953. This is for example useful if you have a drawer with lots of
  954. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  955. The file-tag can be specified using the "Extension"-gadget - if
  956. this field is left blank the filenames are not changed.
  957. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  958. the Processor.
  959. @endnode
  960. @node CountPlugInsPlugIn
  961. @{b}CountPlugIns-PlugIn@{ub}
  962. The CountPlugIns-PlugIn shows some statistics about the initialized
  963. PlugIns including Operators, Savers and General PlugIns.
  964. This trivial thing was created as example for the developer-
  965. kit which will be available soon.
  966. @endnode
  967. @node EPSSaverPlugIn
  968. @{b}EPSSaver-PlugIn@{ub}
  969. The EPSSaver-PlugIn converts any picture which can be read
  970. by Wildfire into an eps-file which can be included into
  971. TeX-documents or directly processed by ghostscript.
  972. @{b}Functions:@{ub}
  973.  Input        input-image
  974.  Output        eps-file to be generated
  975.  Resolution    resolution in dpi
  976.  Type        output-type: Gray, Color or Black&White
  977. @{b}Notes:@{ub}
  978.  1. This PlugIn replaces my iff2eps-package.
  979.  2. The eps-files created by this PlugIn are uncompressed and therefore
  980.     highly portable.
  981.  3. The eps-image will be centered on a normal A4-page automatically.
  982. @endnode
  983. @node SlideShowPlugIn
  984. @{b}SlideShow-PlugIn@{ub}
  985. The SlideShow-PlugIn allows you to create slideshows easily.
  986. There are many functions to create and modify a picture-list
  987. which can be loaded and saved.
  988. The slideshow is performed calling the external program
  989. "Visage" by Magnus Holmgren. This nice program is used
  990. because of it's capability of "loading while displaying".
  991. @{b}Functions:@{ub}
  992.  Add         add one or more images to the list
  993.  AddDir          add the contents of a whole drawer to the list
  994.  From, To, Step  picture-range
  995.  Remove          remove the selected picture from the list
  996.  Remove Range    remove all pictures inside the specified range from the list
  997.  Delete          delete the selected picture
  998.  File            file for loading/saving picture-lists
  999.  Save            save the current picture-list to disk
  1000.  Load            load a previously saved picture-list
  1001.  Clear           clear the current picture-list
  1002.  Show            display the selected picture
  1003.  Delay           pause between two images during the slideshow
  1004.  Go              perform the slideshow
  1005. The only way to abort the slideshow is to abort the viewer
  1006. sequentially pressing the right mouse-button. The number of 
  1007. required mouseclicks depends on the length of the image-paths 
  1008. and the number of items in the picture-list.
  1009. @endnode
  1010. @node GrabWindowPlugIn
  1011. @{b}GrabWindow-PlugIn@{ub}
  1012. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  1013. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1014. the Processor.
  1015. @endnode
  1016. @node TileImagePlugIn
  1017. @{b}TileImage-PlugIn@{ub}
  1018. The TileImage-PlugIn splits a specified image into small portions
  1019. with the same size.
  1020. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1021. the Processor.
  1022. @{b}Functions:@{ub}
  1023.  Input        input-image
  1024.  Output        base-filename of the generated particles
  1025.  xCount        number of fragments in x-direction
  1026.  yCount        number of fragments in y-direction
  1027. @{b}Notes:@{ub}
  1028.  1. Finally you will get xCount*yCount fragments with
  1029.     filenames like "output.0001", "output.0002", ...
  1030.     The counter runs from the left lower edge to the right upper
  1031.     edge (which may be important if you want to use
  1032.     the created images later)
  1033.  2. the sum of the generated fragments must fit the
  1034.     image-size *exactly*. For example you can't subdivide
  1035.     an image of the dimensions 640x480 into 3x7 fragments
  1036.  3. The idea for this PlugIn is really not mine ;)
  1037. @endnode
  1038. @remark /*************************************************************/
  1039. @remark /*
  1040. @remark                            FAQ
  1041. @remark */
  1042. @remark /*************************************************************/
  1043. @node FAQ
  1044. @{b}Frequently Asked Questions@{ub}
  1045. 1. Q: Is there a WWW-site for Wildfire ?
  1046.    A: Not yet.
  1047. 2. Q: How to contact the author ?
  1048.    A: epgbc@cluster1.urz.Uni-Halle.DE
  1049. 3. Q: The demo-version I have installed isn't capable to convert
  1050.       large animations because of ''eating'' too much memory.
  1051.       Is this only a ''feature'' of the Demo-version ?
  1052.    A: Yes, of course !
  1053.       Wildfire has an own memory handler to simplify and speed up
  1054.       memory-allocations. The Demo-version has no free()-function,
  1055.       only the freeall()-function (which cleans up after program-exit)
  1056.       is available.
  1057. 4. Q: I've tried out the demo-version and it crashes after a while.
  1058.       I can't convert animations with it because I haven't enough
  1059.       memory to finish any operation.
  1060.       In may opinion you are loosing potential customers using such
  1061.       a way of restricting the unregistered program version.
  1062.       It would be much better to print your logo to every generated
  1063.       image - nobody could use the program seriously without registering.
  1064.    A: This is no bad idea. In fact I had implemented this "feature"
  1065.       in a previous version. The problem is that it's too easy to
  1066.       patch for "sunday-crackers".
  1067.       The way I currently use requires much more knowledge than
  1068.       simply replacing code-lines of the disassembled binary
  1069.       with "nop"-statements.
  1070.       Another point is that I think that's not necessary to create
  1071.       complete animations to decide if Wildfire is worth registering
  1072.       or not. Many working features of the unregistered version
  1073.       are missing in much more expensive "commercial" software.
  1074. 5. Q: Why did you release Wildfire as shareware ? It looks very
  1075.       professional.
  1076.    A: Well, Wildfire *IS* a professional piece of software.
  1077.       The main reason is the fact that Wildfire released as shareware
  1078.       is one of the programs with the best price/performance-ratio.
  1079.       If you release a program as "commercial product" a lot of money
  1080.       is spent for any other purpose than the program-development.
  1081.       A printed manual for example is very expensive to produce but
  1082.       the most people doesn't read manuals.
  1083.       Another advantage is the fast availability of free updates.
  1084.       Finally we couldn't find a distributor here in Germany because
  1085.       most of them sell their own gfx-software and the remaining ones
  1086.       are not professional.
  1087. 6. Q: Wildfire asks for amigaguide.library V37 at startup - but I
  1088.       have installed it !!!
  1089.    A: Be sure your startup-sequence contains the following lines:
  1090.        assign libs: hd0:classes add
  1091.        adddatatypes flush                   (since OS3.1)
  1092.       This is necessary because the amigaguide.datatype and maybe some
  1093.       other components will be initialized while opening the system-
  1094.       libraries. (This means that the error-message which is produced 
  1095.       by the startup-code I use is wrong.)
  1096. 7. Q: Which assigns etc. are necessary to run your program ?
  1097.    A: Wildfire works after booting without startup-sequence
  1098.       if you enter the following lines:
  1099.        setpatch
  1100.        assign libs: hd0:classes add
  1101.        adddatatypes flush
  1102.        stack 10000
  1103.        wf
  1104.       After that the most parts of the program (converting, processing
  1105.       images, playing animations) work without problems.
  1106.       The only "bad" thing I found is the online-help which
  1107.       is displayed as plain text.
  1108. 8. Q: After installing the new main-program I get lots of
  1109.       "initialization errors" while loading the PlugIns - 
  1110.       but SnoopDos doesn't display any LoadSeg-failure or similar.
  1111.    A: The "initialization error" occurs if version-number of
  1112.       the current PlugIn doesn't fit the version-number
  1113.       of the PlugIn-loader of the main-program.
  1114.       This means that all PlugIns you use are too old and 
  1115.       cannot be used any more.
  1116.       The reason for this "nasty" behaviour is the fact that
  1117.       the internal "PlugIn-structure" has to be extended sometimes.
  1118. @endnode
  1119. @remark /*************************************************************/
  1120. @remark /*
  1121. @remark                            Processor
  1122. @remark */
  1123. @remark /*************************************************************/
  1124. @node ProcessorWindow
  1125. @{b}Processor-Window@{ub}
  1126. @{u}Introduction@{uu}
  1127. The Processor is Wildfire's powerful image-processing engine which acts
  1128. as a PlugIn between the Converter's input and output.
  1129. If you have understood the basic @{" concept " link pcConcept} of this architecture
  1130. it's easy for you to create almost any complicated or simple effect.
  1131. @{b}Functions:@{ub}
  1132. @{u}Process-script:@{uu}
  1133. Add              open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1134. Kill             kill the selected item
  1135. Duplicate        duplicate the selected item
  1136. Import           import one or more items from a previously saved Process-file
  1137. Edit             open the Options-Window of the selected Operator
  1138. Up               move the selected item up
  1139. Down             move the selected item down
  1140. Visible/Hidden   toggle if the current item remains visible if folding is
  1141.                  enabled
  1142. Enabled/Disabled disable/enable the current item
  1143. Folding          toggle list-folding on/off
  1144. Range            the frame-range of the current Operator
  1145. Folding is very nice feature while creating very complex scripts.
  1146. If a particular scene works you should hide it to work on the next one.
  1147. A comment describing the hidden scene and the frame-range
  1148. should be left visible.
  1149. @{u}Options:@{uu}
  1150. Mode           color-mode for rendered images
  1151. Dither         dithering-method used rendering images
  1152. Depth          depth of rendered images
  1153. CSkip          number of colors not used rendering images, this may
  1154.                be useful for creating Workbench-backdrops
  1155. Scale          @{" Process-Scale-Value   " link pcScale}
  1156. 3DQuant        @{" 3d-Quantization-Value " link pcQuant3D}
  1157. Phong          global smoothing angle for the phong-shader
  1158. Smooth         toggle smoothing for various operators on/off
  1159. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1160. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1161. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1162. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1163. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1164. File           filename used for loading/saving of Process-scripts
  1165. Load           load a previously saved Process-file
  1166. Save           save the Process-script, all Variables and the Palette
  1167.                as Process-file
  1168. Clear          clear the Process-script, all Variables keep unchanged
  1169. @{b}Additional ShortCuts:@{ub}
  1170. <del>            delete the selected list-item
  1171. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1172. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1173. <up>,<down>      browse through the Process-list
  1174. <left>           unfold item (if folding=off)
  1175. <left>           unfold whole list after safety-requester (if folding=on)
  1176. <right>          fold item
  1177. @endnode
  1178. @node pcConcept
  1179. @{b}The concept@{ub}
  1180. A normal animation-converter like MainActor reads in a input-stream
  1181. of pictures and writes them as output-stream to harddisk.
  1182. (The complicated process of (de)compressing various animation-
  1183. formats is here neglected.)
  1184. The Converter of Wildfire extends this simple concept by a
  1185. PlugIn-architecture. You can "plug in" as many modifications
  1186. between the input and the output as you want. These modifications
  1187. are realized via Operators.
  1188. For example this concept would allow to scale down animations
  1189. "plugging in" a Halve-operator.
  1190. A further extension is the usage of tempory buffers called
  1191. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1192. the input- and the output-buffer. The "normal" buffer generated
  1193. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1194. called "TEMP1"..."TEMP8".
  1195. In this terms the process of halving an animation looks like this:
  1196. input
  1197.   ->STREAM -> Halve -> STREAM
  1198.                          I
  1199.                        output
  1200. This concept of TEMP-buffers is much more powerful. For example it
  1201. allows you to create an animation which consists of the input-
  1202. animation as gray background and as small colored foreground.
  1203. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1204. PlugIn.
  1205. The scheme would look like this:
  1206. input
  1207.   ->STREAM -> Scale       -> TEMP1  )
  1208.                                      > Compose -> STREAM
  1209.            -> ColorToGray -> STREAM )               I
  1210.                                                   output
  1211. But this concept doesn't allow you very complicated effects
  1212. like a jumping animation in front of a melting one.
  1213. So a further extension is necessary: time-dependant animation-
  1214. parameters.
  1215. For example this allows you to create a spinning animation.
  1216. All you need is a Rotate-PlugIn and a rotate-amount running
  1217. from 0 to 360 degrees during the whole animation.
  1218. Let's assume your animation has 120 frames. To convert it into a
  1219. spinning one you have to "plug in" the Rotate-Operator, to
  1220. create the Envelope describing the variation of the
  1221. rotate-amount with the frame number and to "plug in" this
  1222. Envelope into the Rotate-Operator. That's it.
  1223. The Envelope consists of two points one at frame 0 with the
  1224. value 0 and one at frame 120 with the value 360.
  1225. Setting the value 0 at frame 0 which is never reached (the
  1226. first frame is always 1) causes the creation of a looping
  1227. animation.
  1228. As said before, if you understood this concept you can
  1229. do almost anything.
  1230. Example: Compose four different animations after applying
  1231. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1232. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1233. input
  1234.   ->STREAM -> Twirl ->STREAM                     )
  1235.                                                   > Compose -> STREAM                                     )
  1236.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1237.                                                                                                             > Compose -> STREAM
  1238.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1239.                                                                                        > Compose -> TEMP1 )              output
  1240.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1241. This example doesn't make any sense but demonstrates that
  1242. the only limit is your own creativity.
  1243. @endnode
  1244. @node pcQuant3D
  1245. @{b}3D-Quantization-value@{ub}
  1246. This important parameter affects both the quality and the
  1247. speed of the images created or modified by the various 3d-effects.
  1248. The value specifies how many pixels are transformed like one
  1249. point of the source-image. If this value is left to 1 the image
  1250. is transformed pixel by pixel.
  1251. Higher values cause the approximation of the image by quadrangles
  1252. of the size specified by the 3D-Quantization-value.
  1253. E.g., after specifiying a value of 3 the image is approximated
  1254. by quadrangles of the size 3x3. The color of every quadrangle is
  1255. computed from the 9 original pixel using an interpolation method.
  1256. The result may look very bad but is displayed almost in realtime
  1257. at fast machines.
  1258. The main purpose of quantization values higher than 1 is to speed
  1259. up the generation of previews while adjusting the many parameters.
  1260. Another advantage may be the fact that the amount of memory
  1261. required for the 3d-calculations decreases with increasing
  1262. quantization-values at a power of 2. That means at a quantization
  1263. value of 2 you need only 25 percent of the memory required
  1264. for the full computation - but the image-quality will be almost the
  1265. same.
  1266. Smaller values cause the creation of more points using another
  1267. interpolation method. This may be necessary after combining
  1268. several 3D-effects which cause very large deformations.
  1269. In this case a qantization value of 0.5 will cause the interpotion
  1270. of every pixel by four quadrangles. This requires much more memory
  1271. and computation time but will produce images at very high quality.
  1272. @endnode
  1273. @node pcScale
  1274. @{b}Process-Scale-value@{ub}
  1275. This harmless-looking option is a real mega-feature: It allows you to
  1276. use Processor-scripts designed for a particular image-size to apply to
  1277. images of other dimensions.
  1278. Example: You have designed a large project of about 1000 frames
  1279.          processing images of a dimension 320x256. Now you want to
  1280.          create a preview-animation of the halve size.
  1281.          So simply set the Scale-value to 0.5.
  1282. Due the nature of such feature there are some restrictions:
  1283.  *the current image-sequence must have the same aspect as the one the
  1284.   script was designed for
  1285.  *some very special operators cannot be used, e.g. the font-size
  1286.   of the Text-operator cannot be scaled contingously
  1287. But the last point is no real restriction because these few
  1288. operators can be replaced (temporarily).
  1289. There is one very important thing you should always remember.
  1290. After changing the Process-Scale-value all process-parameters
  1291. which are in pixel-units are scaled. That may be cause very
  1292. strange results if you use images with a dimension which doesn't
  1293. fit this scale-value.
  1294. Example: You use a scale-value of 0.5 and the same images the
  1295.          script was designed for. In this case all size-dependant
  1296.          are divided by 2. If you script for example contains
  1297.          a 3D-operator with a camZ-value of -800 this value will
  1298.          be reduced to -400. This will cause a very strange
  1299.          view if your image has a size of 640x480, the program
  1300.          may even hang up due the rendering of almost infinite
  1301.          large faces.
  1302. So always don't forget to change the input-stream and not only
  1303. the Process-Scale-value !
  1304. @endnode
  1305. @node ProcessorPreview
  1306. @{b}Preview-Window@{ub}
  1307. The Preview is a very useful feature while testing complicated scripts.
  1308. It applies the current-Process-script to a smaller version
  1309. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1310. The change of any parameter is visible in the Process-Window
  1311. instantly (on fast machines). To abort the geneneration of
  1312. the preview hold the left mouse-button.
  1313. The width and depth of the preview can be specified from within the
  1314. @{" SinglePicture-Window " link SinglePictureWindow}.
  1315. A width of 160 and a depth of 4 is a should be always good choice.
  1316. The original width of the input-image is displayed in the
  1317. window title. This may be sometimes important adjusting size-dependant
  1318. parameters.
  1319. If you used a "normal" image-processor before you may have enjoyed
  1320. the feature of graphically specifing parameters like dragging a rectangle
  1321. for a Crop-effect. Such a feature isn't implemented into Wildfire
  1322. because I had no idea of good concept yet.
  1323. The problem is that all Operators of the Process-script are
  1324. independant. That means that a Twirl-effects doesn't "know" about
  1325. a Scale-effect executed before.
  1326. And the Scale-effect doesn't "know" about about a CreateImage-effect
  1327. executed before...
  1328. A first attempt is the @{" ImageCoordinates-Window " link ImageCoordinatesWindow} which
  1329. allows you to graphically modify some types of controls inside the
  1330. Preview-Window. For example if you want to crop an image you may
  1331. use the "Rectangle"-control and later copy the indicated coordinates
  1332. to the options-window of the Crop-PlugIn.
  1333. @{b}Shortcuts:@{ub}
  1334. <space>       refresh the image (e.g. after aborting)
  1335. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1336. @endnode
  1337. @node ImageCoordinatesWindow
  1338. @{b}ImageCoordinatesWindow@{ub}
  1339. The ImageCoordinates-Window is a first attempt to modify parameters
  1340. graphically. There a some types of controls which can be dragged and 
  1341. modified using the mouse. All interesting values like image-coordinates
  1342. or the radius of a circle are indicated and could be copied to the 
  1343. options-window of the selected PlugIn.
  1344. @{b}Functions@{ub}
  1345. Control-Type     type of control:
  1346.                    point : simple point, e.g. represting a upper-left edge
  1347.                            of a image to be composed
  1348.                    rect  : e.g. representing a crop-region
  1349.                    circle: e.g. representing the amount and the radius
  1350.                                 of a Twirl-effect
  1351. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1352.                  upper-left edge of the rectangle,
  1353.                  centre of the circle,
  1354. Right, Bottom    lower-right edge of the rectangle
  1355. Angle            angle of the current drawn radius of the circle
  1356. Radius           radius of the circle
  1357. @endnode
  1358. @node SinglePictureWindow
  1359. @{b}SinglePicture-Window@{ub}
  1360. This window is made to process single images and to simplify the
  1361. creation of complicated Processor-scripts.
  1362. @{b}Functions:@{ub}
  1363. Input              input image, this field is by default initialized by
  1364.                    Wildfire's intro-picture because it must be always
  1365.                    filled
  1366. Frame              the current frame
  1367. Frames             number of frames, this value is only used as maximum
  1368.                    for the scrollbar below
  1369. Scrollbar          another way to change the current frame number
  1370. Test Process       execute the current Processor-script using the current
  1371.                    frame-number and display the result
  1372. Screenmode         select the screenmode used by the "Test Process"-function
  1373. Apply Dimensions   apply the dimensions of the current input-image to the
  1374.                    selected operator, e.g. if the selected operator is a
  1375.                    Twirl-effect the centre and the radius is set
  1376. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1377. Width              width of the preview
  1378. Depth              depth of the preview, if this value exceeds the
  1379.                    screen-depth the screen is updated automatically
  1380. Output             output-image
  1381. Save Image         execute the current Processor-script using the current
  1382.                    frame-number and save the result using the saver
  1383.                    selected in the @{" Savers-Window " link SaversWindow}
  1384. Save Rendered      execute the current Processor-script using the current
  1385.                    frame-number, render it using the settings made
  1386.                    in the Processor-Window and save the result as ILBM-image
  1387. @{b}Additional Shortcuts:@{ub}
  1388.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1389.  <space>           Test Process
  1390.  <left>,<right>    decrease/increase the current frame-number
  1391. The useful <v>- and <space>-shortcuts are also available from within
  1392. every Effect-window and the Processor-Window.
  1393. @endnode
  1394. @node VariablesWindow
  1395. @{b}Variables-Window@{ub}
  1396. From within the Variables-Window time-dependent animation-parameters
  1397. are created, modified, loaded and saved.
  1398. @{b}Functions:@{ub}
  1399. Add                 add a variable
  1400. Kill                kill the selected Variable
  1401. Rename              rename the selected Variable
  1402. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1403.                     edit the current variable
  1404. File                filenames used for loading/saving of variables
  1405. Load                load variables from a previously saved Variables-file
  1406. Save                save all variables to disk
  1407. Clear               clear all variables
  1408. After clearing a Variable all informations about this Variable
  1409. are lost - even in the Processor-script.
  1410. @endnode
  1411. @node SaversWindow
  1412. @{b}Savers-Window@{ub}
  1413. From within this window the Saver used for writing Truecolor-images
  1414. is choosen. Most Savers offer an options-window which can be
  1415. accessed from within the Savers-Window, too.
  1416. Another purpose is to add or remove Saver-PlugIns.
  1417. Saver-PlugIns contain both the save- and the load-functions for a
  1418. particular image-format. Removing a Saver causes the loss of the
  1419. capability to load and save images of this file-format.
  1420. All unknown fileformats are handled via datatypes which is restricted
  1421. to the operation of loading.
  1422. Most Saver-PlugIns allow you to disable the loader-function explicitly.
  1423. This may be necessary if the Wildfire-loader doesn't support a
  1424. particular sub-format and you want to use datatypes. An example is
  1425. the PNG-format with it's lots of options.
  1426. There a many people saying "may xxx-datatype is the best, the greatest
  1427. and the fastest". If this is also your opinion you may
  1428. switch the loaders permanently off saving the prefs after
  1429. disabling.
  1430. (In fact it's nearly impossible to write a datatypes which operates
  1431.  faster than Wildfire because this program always was to designed
  1432.  to be fast and not to conserve memory.)
  1433. @{b}Functions:@{ub}
  1434. Add            add an external Saver-PlugIn
  1435. Delete         delete the selected Saver-PlugIn
  1436. SavePrefs      save all of the options of the current PlugIn
  1437. Options        open the options-window of the selected Saver-PlugIn
  1438. @{b}Available Savers@{ub}
  1439.  @{" ILBM " link ILBMSaver}
  1440.  @{" JPEG " link JPEGSaver}
  1441.  @{" PNG  " link PNGSaver}
  1442. @endnode
  1443. @node ILBMSaver
  1444. @{b}ILBM-Saver@{ub}
  1445. This PlugIn saves and load images in the ILBM-format.
  1446. @{b}Options:@{ub}
  1447. Compression     ByteRun1/Node
  1448. Loader          disable/enable the loader
  1449. The choice of no compression is good for saving huge images
  1450. (e.g. at 600dpi). In such cases there may be not enough
  1451. memory to do any compression.
  1452. @endnode
  1453. @node JPEGSaver
  1454. @{b}JPEG-Saver@{ub}
  1455. This PlugIn saves and load images in the JPEG-format.
  1456. @{b}Options:@{ub}
  1457. Quality         remaining image-quality in percent
  1458. Format          toggle Normal/Progressive-format
  1459. Optimize        toggle Huffman-table-optimizing on/off
  1460. Output          toggle TrueColor/GrayScale-output
  1461. Loader          disable/enable the loader
  1462. In the most cases the TrueColor-Progressive-format should
  1463. be the best choice.
  1464. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1465. developed by @{b}The Independent JPEG Group.@{ub}
  1466. @endnode
  1467. @node PNGSaver
  1468. @{b}PNG-Saver@{ub}
  1469. This PlugIn saves and load images in the PNG-format.
  1470. @{b}Options:@{ub}
  1471. Format          various formats are supported:
  1472.                  24Bit RGB   : TrueColor-image
  1473.                   8Bit Color : rendered image in 256 colors
  1474.                                (good GIF-replacement)
  1475.                   8Bit Gray  : grayscale-image
  1476.                   4Bit color : rendered image in 16 colors
  1477.                   Black&White: rendered Grayscale image in 2 colors
  1478. Loader          disable/enable the loader
  1479. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1480. developed by @{b}Group 42, Inc.@{ub}
  1481. @endnode
  1482. @node PaletteWindow
  1483. @{b}Palette-Window@{ub}
  1484. The Palette-Window lets you create, modify, load and save a
  1485. locked Palette used by the Processor while rendering images.
  1486. @{b}Functions:@{ub}
  1487. File              file to load/save palettes
  1488. Load              load the palette from the selected file,
  1489. Save              save the current palette to disk
  1490. Red, Green, Blue  values of the current selected palette-entry
  1491. Copy              duplicate the current color
  1492. Exchange          exchange two colors
  1493. Spread            create a color-transition between two colors
  1494. Undo              reset the last changed color to its previous value
  1495. State             toggle the state of the Palette
  1496. Use               make all performed changed permanent
  1497. Cancel            cancel all apllied changes
  1498. If the state of the Palette is enabled it will be used for all
  1499. forthcoming render-processes. This is very important if
  1500. you want to create animations with locked colors using
  1501. the Processor.
  1502. If you use a screendepth smaller than 8 no change of Palette
  1503. will be visible (indicated by changing screen-colors).
  1504. In the other case while pressing the right mouse-button the
  1505. normal screen-colors are used for the lower palette-entries
  1506. which is important to locate gadgets.
  1507. @endnode
  1508. @node CalculatorWindow
  1509. @{b}Calculator-Window@{ub}
  1510. The Calculator-window is made to easily evaluate mathematical expressions
  1511. and to define or view user-defined symbols.
  1512. Most of Wildfire's gadgets allow you to enter mathematical expressions, too.
  1513. The symbols defined from within the Calculator-Window can be accessed
  1514. from this gadgets, too.
  1515. @{b}Functions:@{ub}
  1516. 1st string-gadget      expression to evaluate
  1517. Results                shows the last three results
  1518. Symbols                list of all user-defined symbols, especially constants
  1519. Load                   load symbols and expressions from a previously saved file
  1520. Save                   save all symbols, expressions and the Evaluate-x-range
  1521. Evaluate               open the @{" Evaluate-Window    " link EvaluateWindow}
  1522. To define a symbol enter it's name and optionally it's value,
  1523. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1524. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1525. If the corresponding value (e.g. a zoom-factor) is of type float it
  1526. will be set to 0.75 otherwise it will be rounded to 1.
  1527. @endnode
  1528. @node EvaluateWindow
  1529. @{b}Evaluate-Window@{ub}
  1530. The Evaluate-window is made to easily create evaluated data files.
  1531. @{b}Functions:@{ub}
  1532. Filename               Filename of the generated data file
  1533. Expression             Expression to evaluate
  1534. XMin                   X-start-value
  1535. XMax                   X-end-value
  1536. XStep                  X-increment
  1537. Evaluate               Start the computation
  1538. View                   View the results using the default editor
  1539. If the increment is negetive you can use a start-value which
  1540. is larger than the end-value.
  1541. All computations are done using double precision.
  1542. @endnode
  1543. @node EnvelopeWindow
  1544. @{b}Envelope-Window@{ub}
  1545. From within this window all time-dependent animation-parameters
  1546. (called "Envelopes") are created and modified.
  1547. An Envelope is a twodimensional curve with the frame-number
  1548. as x-values and the animation-parameter as y-value. Therefore
  1549. the x-values are always integer-values.
  1550. If the framber-number of the Processor exceeds the range of an
  1551. Envelope the first or last y-Value is used. This means if your Envelope
  1552. only contains one point the y-value of this point is used for
  1553. all frame-numbers.
  1554. Most operations are made using the mouse. A point is selected
  1555. by clicking on it. Moving the mouse while holding the left
  1556. button causes the selected point to be dragged.
  1557. The whole graph can be scrolled using the cursor-keys.
  1558. @{b}Functions:@{ub}
  1559. XRange            the displayed x-range
  1560. YRange            the displayed y-range
  1561. X                 the x-value (frame-number) of the selected point
  1562. Y                 the y-value of the selected point
  1563. Add Point         add a point
  1564. Kill Point        kill a point
  1565. Type              change the type of the Envelope:
  1566.                    Linear: connect two points by straight lines
  1567.                    Spline: use a cubic spline interpolation to connect points
  1568.                    Bezier: surround points by bezier-curves
  1569. View All          view the whole Envelope
  1570. File              filename to save/load Envelopes
  1571. Load              load a previously saved Envelope
  1572. Save              save the current Envelope to disk
  1573. Use               make all performed changes permanent
  1574. Cancel            discard all applied changes
  1575. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1576.                   more complex operations
  1577. @endnode
  1578. @node EnvelopeAdvancedWindow
  1579. @{b}EnvelopeAdvanced-Window@{ub}
  1580. From within this window seldom-used but very useful transformations
  1581. are applied to Envelopes.
  1582. @{b}Functions:@{ub}
  1583. @{u}Point-Operations:@{uu}
  1584. First, Last, Step     point-range affected by transformations
  1585. YValue                x-value used by the transformation
  1586. YValue                y-value used by the transformation
  1587. Scale                 scale the Envelope by the x- and y- value specified below
  1588. Shift                 shift the Envelope by the x- and y- value specified below
  1589. @{u}Evaluate Expression:@{uu}
  1590. XMin, XMax, XStep     x-range used for evaluating
  1591. Expression            mathematical expression as function of "x"
  1592. Evaluate              create an Envelope using the x-range as frame-numbers
  1593.                       and the evaluated values as y-value
  1594. @{u}Import/Export:@{uu}
  1595. Load Curve            load a 2D-data file used by plotting programs 
  1596.                       and convert it as an Envelope
  1597. Save Curve            save the current Envelope as 2D-datafile
  1598. Load Timecodes        load a previously saved Timecodes-file and convert
  1599.                       it as an Envelope
  1600. Save Timecodes        save the current Envelope as a Timecodes-file used
  1601.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1602. @endnode
  1603. @node OperatorsWindow
  1604. @{b}Operators-Window@{ub}
  1605. The Operators-Window opens after pressing the "Add"-button of the
  1606. Processor-Window and allows you to select an operator which will be
  1607. appended to your Processor-script.
  1608. Another purpose is to add PlugIns to the internal database
  1609. or to remove them.
  1610. All operations can be done both using the mouse and the keyboard.
  1611. Use the cursor-keys to browse through the lists and the <enter>-key
  1612. to apply the selection.
  1613. @{b}Functions:@{ub}
  1614. Add             to load one or more PlugIns from harddisk
  1615. Delete          to delete the selected PlugIn
  1616. Select          to append the selected operator to the Processor-script
  1617. Cancel          to cancel the selection
  1618. @{b}Operator-PlugIns:@{ub}
  1619. There are five basic types of Operator-PlugIns according to their
  1620. purpose:
  1621.  @{b}Buffer:@{ub} modifying or creating buffers
  1622.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1623.    @{" AutoCrop        " link opAutoCrop       } Remove outer regions with the same color
  1624.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1625.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1626.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1627.    @{" DLA             " link opDLA            } Create a colored image                     @{" Example " system "visage wf:doc/pictures/DLA.pic"}
  1628.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1629.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1630.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1631.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1632.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channel of an image        @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1633.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1634.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1635.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1636.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1637.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1638.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1639.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1640.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1641.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1642.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1643.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1644.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1645.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1646.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1647.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1648.    @{" Scale           " link opScale          } Scale an image
  1649.    @{" Shear           " link opShear          } Shear the image                            @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1650.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1651.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1652.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1653.  @{b}Color:@{ub}  applying color-transformations
  1654.    @{" Alpha           " link opAlpha          } Color Changes using an Alpha Channel       @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1655.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1656.    @{" Balancing       " link opBalancing      } Change the colors using Balancing          @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1657.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1658.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1659.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1660.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1661.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1662.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1663.    @{" Neon            " link opNeon           } Add glow to an image                       @{" Example " system "visage wf:doc/pictures/Neon.pic"}
  1664.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1665.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1666.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1667.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1668.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1669.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations on 3D-temp-buffers or images
  1670.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  1671.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1672.    @{" Join3D          " link opJoin3D         } Join two 3D-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  1673.    @{" KillTemp3D      " link opKillTemp3D     } Kill a 3D-temp-buffer
  1674.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1675.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  1676.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1677.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  1678.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  1679.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  1680.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  1681.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1682.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1683.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1684.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1685.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1686.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1687.    @{" Example         " link opExample        } Example for the developer-kit              @{" Example " system "visage wf:doc/pictures/Example.pic"}
  1688.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1689.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1690. Note: After pressing one of the @{" Example " system "visage wf:Motivation2.jpg"}-buttons the program
  1691.       "visage" is started to display a corresponding example.
  1692. @endnode
  1693. @node opAdd
  1694. @{b}Add-Operator@{ub}
  1695. This operator adds or subtracts two images.
  1696. @{b}Parameters@{ub}
  1697. Name        Possible Values/Unit          Description
  1698. @{uu}
  1699. Input1      STREAM, TEMP1, ..., TEMP8     1st source buffer
  1700. Input2      STREAM, TEMP1, ..., TEMP8     2nd source buffer
  1701. Output      STREAM, TEMP1, ..., TEMP8     destination buffer
  1702. Mode        ADD, SUBTRACT                 add or subtract the images
  1703. @endnode
  1704. @node opCompose
  1705. @{b}Compose-Operator@{ub}
  1706. This operator composes two images using several genlock-methods
  1707. and optionaly an alpha-channel.
  1708. @{b}Parameters@{ub}
  1709. Name        Possible Values/Unit                  Description
  1710. @{uu}
  1711. Background  STREAM, TEMP1, ..., TEMP8        background image
  1712. Foreground  STREAM, TEMP1, ..., TEMP8        foreground image
  1713. Destination STREAM, TEMP1, ..., TEMP8        destination buffer
  1714. Alpha       NONE, STREAM, TEMP1, ..., TEMP8  optional alpha buffer
  1715. Left        pixels                           left edge of the foreground image
  1716. Top         pixels                           top edge of the foreground image
  1717. Mix         0...100                          transparency of the foreground image
  1718. CentreX     ON, OFF                          center the foreground horizontally
  1719. CentreY     ON, OFF                          center the foreground vertically
  1720. Red1,       0...255                          genlock-color 1
  1721. Green2,     0...255
  1722. Blue        0...255
  1723. Red2,       0...255                          genlock-color 2
  1724. Green2,     0...255
  1725. Blue2       0...255
  1726. Genlock                                      choose the type of genlock
  1727.             NONE                              no genlock
  1728.             SINGLE COLOR                      normal genlock using color 1
  1729.             INRANGE                           extended genlock using all colors
  1730.                                               inside the range color1...color2
  1731.             OUTRANGE                          extended genlock using all colors
  1732.                                               outside the range color1...color2
  1733. @endnode
  1734. @node opCreateImage
  1735. @{b}CreateImage-Operator@{ub}
  1736. This operator creates an image with an optional color-transition.
  1737. @{b}Parameters@{ub}
  1738. Name        Possible Values/Unit            Description
  1739. @{uu}
  1740. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1741. Width       pixels                     width of the generated image
  1742. Height      pixels                     height of the generated image
  1743. Palette     (gadget)                   select one of the four edges
  1744. Red,        0...255                    color of the selected edge
  1745. Green,      0...255
  1746. Blue        0...255
  1747. HCopy       (gadget)                   copy the selected color horizontally
  1748. VCopy       (gadget)                   copy the selected color vertically
  1749. HVCopy      (gadget)                   apply the selected color to all four edges
  1750. @endnode
  1751. @node opNeon
  1752. @{b}Neon-Operator@{ub}
  1753. This operator adds a glow effect to an image.
  1754. @{b}Parameters@{ub}
  1755. Name        Possible Values/Unit            Description
  1756. @{uu}
  1757. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1758. Red,        0...255                    color of the part of the image
  1759. Green,      0...255                    to midify
  1760. Blue        0...255
  1761. Radius      pixels                     radius of the effect
  1762. Tolerance   0...1.0                    color-tolerance
  1763. Intensity   0...1.0                    intensity
  1764. Algorithm                              algorithm to use
  1765.             TRIVIAL                    use a algorithm like DPaint to surround
  1766.                                        the affected image-cluster
  1767.             HK-CLUSTER                 use a Hoshen-Kopelman-algorithm [1] to
  1768.                                        detect and modify individual clusters
  1769. [1] Phys. Rev.B14, 3428 (1976)
  1770. @endnode
  1771. @node opCrop
  1772. @{b}Crop-Operator@{ub}
  1773. This operator cuts out a rectangular area of an image.
  1774. @{b}Parameters@{ub}
  1775. Name        Possible Values/Unit            Description
  1776. @{uu}
  1777. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1778. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1779. Left        pixels                     left edge of the rectangle
  1780. Top         pixels                     top edge of the rectangle
  1781. Width       pixels                     width of the rectangle
  1782. Height      pixels                     height of the rectangle
  1783. @endnode
  1784. @node opAutoCrop
  1785. @{b}AutoCrop-Operator@{ub}
  1786. This operator removes outer regions with the same color.
  1787. @{b}Parameters@{ub}
  1788. Name        Possible Values/Unit            Description
  1789. @{uu}
  1790. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1791. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1792. @endnode
  1793. @node opKillTemp
  1794. @{b}KillTemp-Operator@{ub}
  1795. This operator clears a TEMP-buffer and frees it's memory.
  1796. @{b}Parameters@{ub}
  1797. Name        Possible Values/Unit      Description
  1798. @{uu}
  1799. Buffer      TEMP1, ... TEMP8     TEMP-buffer to kill
  1800. @endnode
  1801. @node opKillTemp3D
  1802. @{b}KillTemp3D-Operator@{ub}
  1803. This operator clears a 3D-temp-buffer and frees it's memory.
  1804. @{b}Parameters@{ub}
  1805. Name        Possible Values/Unit      Description
  1806. @{uu}
  1807. Buffer      TEMP3D1, ... TEMP3D4      3d-temp-buffer to kill
  1808. @endnode
  1809. @node opLoadImage
  1810. @{b}LoadImage-Operator@{ub}
  1811. This operator loads an image or an image-sequence from disk.
  1812. @{b}Parameters@{ub}
  1813. Name        Possible Values/Unit            Description
  1814. @{uu}
  1815. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1816. Sequence    string                     complete filename of an single image
  1817.                                        or base-filename of an image-sequence
  1818. Loop        integer                    length of the image-sequence
  1819. Shift       integer                    shift-value for the filenames of an image-sequence
  1820. Show        (gadget)                   show the selected image
  1821. @endnode
  1822. @node opLoadTemp
  1823. @{b}LoadTemp-Operator@{ub}
  1824. This operator replaces the input-stream with a TEMP-buffer.
  1825. @{b}Parameters@{ub}
  1826. Name        Possible Values/Unit         Description
  1827. @{uu}
  1828. Buffer      TEMP1, ... TEMP8        TEMP-buffer which holds the image
  1829.                                     to apply
  1830. @endnode
  1831. @node opPlasma
  1832. @{b}Plasma-Operator@{ub}
  1833. This operator creates an image using a fractal algorithm.
  1834. @{b}Parameters@{ub}
  1835. Name        Possible Values/Unit            Description
  1836. @{uu}
  1837. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1838. Width       pixels                     width of the generated image
  1839. Height      pixels                     height of the generated image
  1840. Dimension   integer                    fractal dimension which affects the
  1841.                                        smoothness of the fractal
  1842. Seed        integer                    parameter which affects the shape
  1843. @endnode
  1844. @node opDLA
  1845. @{b}DLA-Operator@{ub}
  1846. This operator creates an image using a "diffusion limited
  1847. aggregation"-algorithm [1].
  1848. @{b}Parameters@{ub}
  1849. Name        Possible Values/Unit            Description
  1850. @{uu}
  1851. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1852. Width       pixels                     width of the generated image
  1853. Height      pixels                     height of the generated image
  1854. Iterations  integer                    number of iterations which affects
  1855.                                        the size of the generated cluster
  1856. Seed        integer                    parameter which affects the shape
  1857. Red,        0...255                    color of the generated image
  1858. Green,      0...255
  1859. Blue        0...255
  1860. [1] T.A. Witten; L.M. Sander, Phys. Rev. Lett. 47, 1400 (1981)
  1861. @endnode
  1862. @node opReplaceComp
  1863. @{b}ReplaceComp-Operator@{ub}
  1864. This operator replaces a color-channel of an image with the
  1865. red-channel of an other image. The main purpose of this
  1866. PlugIn is to create Stereo-3D-Images.
  1867. @{b}Parameters@{ub}
  1868. Name        Possible Values/Unit            Description
  1869. @{uu}
  1870. Input1      STREAM, TEMP1, ..., TEMP8  input buffer
  1871. Input2      STREAM, TEMP1, ..., TEMP8  image which replaces the selected channel
  1872. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1873. Component   RED, GREEN, BLUE           color-channel to replace
  1874. @endnode
  1875. @node opSaveImage
  1876. @{b}SaveImage-Operator@{ub}
  1877. This operator saves images to harddisk.
  1878. @{b}Parameters@{ub}
  1879. Name        Possible Values/Unit            Description
  1880. @{uu}
  1881. Input       STREAM, TEMP1, ..., TEMP8  image to save
  1882. File        string                     filename
  1883. Numbering   string                     C-formatstring, if this string is
  1884.                                        non-empty the current frame-number
  1885.                                        is appended to filename
  1886. @endnode
  1887. @node opSaveTemp
  1888. @{b}SaveTemp-Operator@{ub}
  1889. This operator copies the content of the input-stream to a TEMP-buffer.
  1890. @{b}Parameters@{ub}
  1891. Name        Possible Values/Unit        Description
  1892. @{uu}
  1893. Buffer      TEMP1, ... TEMP8       Buffer to copy to
  1894. @endnode
  1895. @node opBlackHole
  1896. @{b}BlackHole-Operator@{ub}
  1897. This operator contracts the whole image.
  1898. @{b}Parameters@{ub}
  1899. Name        Possible Values/Unit            Description
  1900. @{uu}
  1901. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1902. Ouput       STREAM, TEMP1, ..., TEMP8  output buffer
  1903. CentreX,    pixels                     centre of the effect
  1904. CentreY     pixels
  1905. Amount      pixels                     amount, large values may cause the
  1906.                                        whole image to disappear
  1907. Radius      pixels                     parameter affecting the local deformation
  1908. Zoom        -10.0...10.0               zoom-factor for the whole image
  1909. @endnode
  1910. @node opCartesian2Polar
  1911. @{b}Cartesian2Polar-Operator@{ub}
  1912. This operator transforms the cartesian image-coordinates into
  1913. polar coordinates.
  1914. @{b}Parameters@{ub}
  1915. Name        Possible Values/Unit          Description
  1916. @{uu}
  1917. Input       STREAM, TEMP1, ..., TEMP8     input buffer
  1918. Output      STREAM, TEMP1, ..., TEMP8     output buffer
  1919. R0          pixels                        starting radius
  1920. Phi0        degrees                       starting angle
  1921. Zoom        -10.0...10.0                  zoom factor for the whole image
  1922. @endnode
  1923. @node opDisplace
  1924. @{b}Displace-Operator@{ub}
  1925. This operator swaps points of an image randomly.
  1926. @{b}Parameters@{ub}
  1927. Name        Possible Values/Unit            Description
  1928. @{uu}
  1929. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1930. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1931. Radius      pixels                          largest distance between two
  1932.                                             points to swap
  1933. Probability 0...100                         probability of swapping in
  1934.                                             percent
  1935. Seed        integer                         start-value for the random
  1936.                                             number generator
  1937. @endnode
  1938. @node opFlip
  1939. @{b}Flip-Operator@{ub}
  1940. This operator mirrors an image along a specified axis.
  1941. @{b}Parameters@{ub}
  1942. Name        Possible Values/Unit            Description
  1943. @{uu}
  1944. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1945. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1946. Axis        X, Y, XY                        mirror-axis
  1947. @endnode
  1948. @node opHalve
  1949. @{b}Halve-Operator@{ub}
  1950. This operator halves the dimensions of an image.
  1951. @{b}Parameters@{ub}
  1952. Name        Possible Values/Unit            Description
  1953. @{uu}
  1954. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1955. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1956. @endnode
  1957. @node opMagnet
  1958. @{b}Magnet-Operator@{ub}
  1959. This operator applies a local contraction or expansion to an image.
  1960. @{b}Parameters@{ub}
  1961. Name        Possible Values/Unit            Description
  1962. @{uu}
  1963. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1964. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1965. CentreX     pixels                          centre of the effect
  1966. CentreY     pixels
  1967. Amount      pixels (about -20...20)         amount of the deformation, positive values
  1968.                                             cause a contraction, negative an expansion
  1969. Damping     float                           parameter which controls the fall-off
  1970.                                             of the deformation
  1971. Zoom        -10.0...10.0                    zoom-factor for the whole image
  1972. @endnode
  1973. @node opMotionBlur
  1974. @{b}MotionBlur-Operator@{ub}
  1975. This operator applies a touch of motion to an image.
  1976. @{b}Parameters@{ub}
  1977. Name        Possible Values/Unit            Description
  1978. @{uu}
  1979. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1980. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1981. DeltaX,     pixels                          direction and amount of the effect
  1982. DeltaY      pixels
  1983. @endnode
  1984. @node opPixelize
  1985. @{b}Pixelize-Operator@{ub}
  1986. This operator reduces the resolution of an image creating
  1987. rectangles.
  1988. @{b}Parameters@{ub}
  1989. Name        Possible Values/Unit            Description
  1990. @{uu}
  1991. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1992. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1993. Width       pixels                          width of the rectangles to create
  1994. Height      pixels                          height of the rectangles to create
  1995. Centre      ON, OFF                         centre the rectangles, this options should be
  1996.                                             switched off if the size of the rectangle
  1997.                                             varies with time
  1998. Grid        OFF, XY, X, Y                   type of the optional grid to create
  1999. Size        pixels                          thickness of the grid to create
  2000. Red,        0...255                         base color of the grid
  2001. Green,      0...255
  2002. Blue        0...255
  2003. DLeft,      0.0...1.0                       color variation of the grid to produce
  2004. DRight      0.0...1.0                       a threedimensional look
  2005. DTop        0.0...1.0
  2006. DBottom     0.0...1.0
  2007. @endnode
  2008. @node opRoll
  2009. @{b}Roll-Operator@{ub}
  2010. This operator scrolls an image into a specified direction.
  2011. @{b}Parameters@{ub}
  2012. Name        Possible Values/Unit            Description
  2013. @{uu}
  2014. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2015. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2016. DeltaX,     pixels                          scroll direction and amount
  2017. DeltaY      pixels
  2018. Wrap        ON, OFF                         toggle wrapping on/off
  2019. @endnode
  2020. @node opRotate
  2021. @{b}Rotate-Operator@{ub}
  2022. This operator rotates a circular region of an image.
  2023. @{b}Parameters@{ub}
  2024. Name        Possible Values/Unit            Description
  2025. @{uu}
  2026. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2027. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2028. CentreX,    pixels                          centre of the circle
  2029. CentreY     pixels
  2030. Radius      pixels                          radius of the circle
  2031. Amount      degrees                         rotate-angle
  2032. Zoom        -10.0...10.0                    zoom-factor for the rotated region
  2033. @endnode
  2034. @node opRotateBlur
  2035. @{b}RotateBlur-Operator@{ub}
  2036. This operator adds a touch of motion to an image.
  2037. @{b}Parameters@{ub}
  2038. Name        Possible Values/Unit            Description
  2039. @{uu}
  2040. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2041. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2042. CentreX,    pixels                          centre of the blurred circle
  2043. CentreY     pixels
  2044. Radius      pixels                          radius of the circle
  2045. Amount      degrees                         blur-amount, large-values like 60
  2046.                                             cause a very long computation time
  2047. @endnode
  2048. @node opScale
  2049. @{b}Scale-Operator@{ub}
  2050. This operator scales up or down images.
  2051. @{b}Parameters@{ub}
  2052. Name        Possible Values/Unit            Description
  2053. @{uu}
  2054. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2055. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2056. Width       pixels/percent                  horizontal size of the generated image
  2057. Height      pixels/percent                  vertical size of the generated image
  2058. Type        PIXELS, PERCENT                 choose if the size-values are in pixels or percent
  2059. Aspect                                      choose if you want to keep the aspect or not
  2060.             IGNORE                           scale the image to the specified values
  2061.             TAKEWIDTH                        scale the image to the specified width-value
  2062.                                              and a computed height-value keeping the aspect
  2063.             TAKEHEIGHT                       scale the image to specified height-value
  2064.                                              and computed width-value keeping the aspect
  2065. @endnode
  2066. @node opShear
  2067. @{b}Shear-Operator@{ub}
  2068. This operator shears an image with additional damping.
  2069. @{b}Parameters@{ub}
  2070. Name        Possible Values/Unit            Description
  2071. @{uu}
  2072. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2073. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2074. OriginX,    pixels                          shear-centre where no damping occurs
  2075. OriginY     pixels
  2076. Amount      pixels                          shear-amount
  2077. Zoom        -10.0...10.0                    zoom-value for the whole image
  2078. Axis        X, Y                            shear-direction
  2079. Damping     ON, OFF                         toggle damping on/off
  2080. Damping     float                           damping-value
  2081. @endnode
  2082. @node opShiftLines
  2083. @{b}ShiftLines-Operator@{ub}
  2084. This operator shifts the lines of an image with optional
  2085. jitter-effect.
  2086. @{b}Parameters@{ub}
  2087. Name        Possible Values/Unit            Description
  2088. @{uu}
  2089. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2090. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2091. Direction   X, Y                            shift-direction
  2092. Jitter      ON, OFF                         toggle jitter on/off
  2093. Shift       pixels                          shift-value
  2094. Amount      pixels                          jitter-amount
  2095. Probability 0...100                         probability for the jitter-effect
  2096. Seed        integer                         start -value for the random number generator
  2097. @endnode
  2098. @node opTwirl
  2099. @{b}Twirl-Operator@{ub}
  2100. This operator applies a nonlinear deformation to an image.
  2101. @{b}Parameters@{ub}
  2102. Name        Possible Values/Unit            Description
  2103. @{uu}
  2104. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2105. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2106. FallOff     IN, OUT                         radial direction of the fall-off of
  2107.                                             the deformation
  2108. CentreX,    pixels                          centre of the effect
  2109. CentreY     pixels
  2110. Radius      pixels                          radius of the affected circular region of the image
  2111. Amount      degrees                         twirl amount, very large value like 1000 are allowed
  2112. Power       float                           parameter describing the local deformation, large
  2113.                                             values like 6.0 concentrate the deformation around
  2114.                                             the centre of the circle
  2115. Zoom        -10.0...10.0                    zoom-factor for the affected circular region
  2116. @endnode
  2117. @node opWave
  2118. @{b}Wave-Operator@{ub}
  2119. This operator applies a harmonic wave to an image.
  2120. @{b}Parameters@{ub}
  2121. Name        Possible Values/Unit            Description
  2122. @{uu}
  2123. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2124. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2125. CentreX,    pixels                          centre of the wave, the point 
  2126. CentreY     pixels                          with no damping
  2127. Amplitude   pixels                          amplitude of the wave
  2128. Phase       degrees                         phase of the wave
  2129. Wavelength  pixels                          wavelength
  2130. Shift       pixels                          diagonal-shift-parameter
  2131. Zoom        -10.0...10.0                    zoom-value for the whole image
  2132. Damping     ON, OFF                         toggle damping on/off
  2133. Damping     float                           damping-value
  2134. Axis        X, Y                            wave-direction
  2135. Frame       integer>0                       current frame
  2136. Frames      integer>0                       frame-number describing a whole cycle
  2137. @endnode
  2138. @node opAlpha
  2139. @{b}Alpha-Operator@{ub}
  2140. This operator modifies the brightness of an image using
  2141. an alpha-channel.
  2142. @{b}Parameters@{ub}
  2143. Name        Possible Values/Unit            Description
  2144. @{uu}
  2145. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2146. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2147. Alpha       STREAM, TEMP1, ..., TEMP8       alpha buffer
  2148. Left        pixels                          left edge of the alpha image
  2149. Top         pixels                          top edge of the alpha image
  2150. @endnode
  2151. @node opAntique
  2152. @{b}Antique-Operator@{ub}
  2153. This operator turns the colors of an image to look "anitique".
  2154. @{b}Parameters@{ub}
  2155. Name        Possible Values/Unit            Description
  2156. @{uu}
  2157. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2158. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2159. @endnode
  2160. @node opBalancing
  2161. @{b}Balancing-Operator@{ub}
  2162. This operator performs some balancing operations.
  2163. @{b}Parameters@{ub}
  2164. Name        Possible Values/Unit            Description
  2165. @{uu}
  2166. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2167. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2168. Red         -255...255                      shift-value for the red component
  2169. Green       -255...255                      shift-value for the green component
  2170. Blue        -255...255                      shift-value for the green component
  2171. Contrast    -255...255                      contrast-value, negative values decrease the contrast
  2172. Bright      -255...255                      shift value for all color-channels
  2173. Gamma       -255...255                      gamma-value
  2174. @endnode
  2175. @node opColorToGray
  2176. @{b}ColorToGray-Operator@{ub}
  2177. This operator converts an image into grayscale.
  2178. @{b}Parameters@{ub}
  2179. Name        Possible Values/Unit            Description
  2180. @{uu}
  2181. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2182. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2183. Weights                                     weight of the red, green and blue component
  2184.             LUMINANCE                        use luminance weights
  2185.             AVERAGE                          use for all components the same weight
  2186.             CUSTOM                           use custom weights
  2187. Red,        0...10000                        custom weights, the sum of this
  2188. Green,      0...10000                        three values should be 10000
  2189. Blue        0...10000
  2190. @endnode
  2191. @node opConvolve
  2192. @{b}Convolve-Operator@{ub}
  2193. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  2194. @{b}Parameters@{ub}
  2195. Name        Possible Values/Unit            Description
  2196. @{uu}
  2197. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2198. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2199. Mix         0...100                         intensity of the generated effect
  2200. Shift       -255...255                      shift-value which is applied to the 
  2201.                                             result for each pixel, this makes it for 
  2202.                                             example possible to turn negative results 
  2203.                                             into the valid range 0...255 without 
  2204.                                             loosing details
  2205. Size        3x3, 5x5                        toggle the size of the matrix
  2206. File        string                          filename for loading/saving a matrix
  2207. Load        (gadget)                        load a matrix in Wildfire's or ADPro's format
  2208. Save        (gadget)                        save the current matrix to disk
  2209. @endnode
  2210. @node opEmboss
  2211. @{b}Emboss-Operator@{ub}
  2212. This operator converts an image in a gray relief
  2213. @{b}Parameters@{ub}
  2214. Name        Possible Values/Unit            Description
  2215. @{uu}
  2216. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2217. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2218. Direction   NORTHWEST, NORTHEAST,           direction of the "lightsource", different
  2219.             SOUTHEST, SOUTHEAST             directions may cause results looking extremely
  2220.                                             different
  2221. @endnode
  2222. @node opLUT
  2223. @{b}LUT-Operator@{ub}
  2224. This operator applies a LookUpTable to an image.
  2225. Unlike to all other image-processors LUT's are represented
  2226. by Envelopes and can be morphed !
  2227. There are 6 Envelopes: a Start- and an End-Envelope for every
  2228. component. After specifying the number of frames the Start-Envelope
  2229. is morphed into the End-Envelope. Different point-counts
  2230. are possible.
  2231. @{b}Parameters@{ub}
  2232. Name        Possible Values/Unit            Description
  2233. @{uu}
  2234. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2235. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2236. Mode        EDIT, VIEW                      toggle Edit/View-mode
  2237. Type        LINEAR, SPLINE, BEZIER          type of the spline of the current channel
  2238. Component   R, G, B                         current component
  2239. RGB         (gadget)                        apply the current Envelope to all components
  2240. Preset      (may change)                    choose a preset
  2241. Apply       (gadget)                        apply the selected preset to the current component
  2242. Position    START, END                      modify the Start- or the End-Envelope
  2243. Both        (gadget)                        apply the Envelope of the current component as
  2244.                                             End- and as Start-Envelope
  2245. Frames      integer>0                       number of frames used for morphing
  2246. Frame       integer>0                       current frame displayed in view-mode
  2247. MirrorX     (gadget)                        mirror the current Envelope along the x-axis
  2248. MirrorY     (gadget)                        mirror the current Envelope along the y-axis
  2249. MirrorXY    (gadget)                        flip the current Envelope along the diagonal
  2250. MoveX       (gadget)                        shift the current Envelope by the specified amount in x-direction
  2251. MoveY       (gadget)                        shift the current Envelope by the specified amount in y-direction
  2252. Amount      integer                         shift-value
  2253. File        string                          file used for loading/saving envelopes
  2254. Load        (gadget)                        load an Envelope
  2255. Save        (gadget)                        save the current Envelope to disk
  2256. There are two modes: the View- and the Edit-mode. In Edit-mode
  2257. all changes are applied, in view mode the morphing of the
  2258. splines is visualized. In this mode you can change the current-frame-
  2259. number both using the scrollbar and the "Frame"-gadget.
  2260. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  2261. the only restriction is that all values must be in the range 0..255.
  2262. The first point must have the x-coordinate 0, the last one the
  2263. coordinate 255.
  2264. @endnode
  2265. @node opMedianFilter
  2266. @{b}MedianFilter-Operator@{ub}
  2267. This operator applies a median-filter to the image.
  2268. (In the most cases there will be no visible change.)
  2269. @{b}Parameters@{ub}
  2270. Name        Possible Values/Unit            Description
  2271. @{uu}
  2272. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2273. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2274. Rect        pixels                          size of the rectangle scanned 
  2275.                                             for every pixel
  2276. @endnode
  2277. @node opNegative
  2278. @{b}Negative-Operator@{ub}
  2279. This operator turns the colors of an image into negative ones.
  2280. @{b}Parameters@{ub}
  2281. Name        Possible Values/Unit            Description
  2282. @{uu}
  2283. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2284. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2285. @endnode
  2286. @node opNoise
  2287. @{b}Noise-Operator@{ub}
  2288. This operator applies random noise to an image.
  2289. @{b}Parameters@{ub}
  2290. Name        Possible Values/Unit            Description
  2291. @{uu}
  2292. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2293. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2294. Intensity   color                           intensity of the noise
  2295. Probability 0...100                         noise-probability
  2296. Seed        integer                         start-value for the random 
  2297.                                             number generator
  2298. @endnode
  2299. @node opOilTransfer
  2300. @{b}OilTransfer-Operator@{ub}
  2301. This operator applies the OilTransfer-algorithm to an image.
  2302. @{b}Parameters@{ub}
  2303. Name        Possible Values/Unit            Description
  2304. @{uu}
  2305. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2306. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2307. Rect        pixels                          size of the rectangle scanned for 
  2308.                                             every pixel
  2309. @endnode
  2310. @node opPosterise
  2311. @{b}Posterise-Operator@{ub}
  2312. This operator reduces the number of bits per byte for every pixel
  2313. of the image.
  2314. @{b}Parameters@{ub}
  2315. Name        Possible Values/Unit            Description
  2316. @{uu}
  2317. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2318. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2319. Bits        1...7                           number of bits per byte, a value of 8 
  2320.                                             would cause no change
  2321. @endnode
  2322. @node opSwapRGB
  2323. @{b}SwapRGB-Operator@{ub}
  2324. This operator swaps the color-channels of an image
  2325. @{b}Parameters@{ub}
  2326. Name        Possible Values/Unit            Description
  2327. @{uu}
  2328. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2329. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2330. Mode        RBG, GRB, GBR, BRG, BGR         swap-mode
  2331. @endnode
  2332. @node opThreshold
  2333. @{b}Threshold-Operator@{ub}
  2334. This operator converts an image into black&white using a grayscale-level,
  2335. this may be especially useful for the creation of alpha-channels.
  2336. @{b}Parameters@{ub}
  2337. Name        Possible Values/Unit            Description
  2338. @{uu}
  2339. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2340. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2341. Level       0...255                         grayscale-level, all pixels with a
  2342.                                             brightness higher than this value
  2343.                                             are turned into white ones, all other
  2344.                                             are cleared
  2345. @endnode
  2346. @node opBump
  2347. @{b}Bump-Operator@{ub}
  2348. This operator uses a 2nd image to add height-information which
  2349. is visualized using a single lightsoure to an image.
  2350. @{b}Parameters@{ub}
  2351. Name        Possible Values/Unit            Description
  2352. @{uu}
  2353. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2354. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2355. HeightMap   STREAM, TEMP1, ..., TEMP8       image used to create the height-information
  2356. Amount      integer                         height-value corresponding to a brightness of 255
  2357. LightX,     pixels                          coordinates of the lightsource
  2358. LightY,     pixels
  2359. LightZ      pixels
  2360. Intensity   float                           light-intensity (1.0=normal)
  2361. Left        pixels                          left edge of the height-map
  2362. Top         pixels                          top edge of the height-map
  2363. @endnode
  2364. @node opCube
  2365. @{b}Cube-Operator@{ub}
  2366. This operator wraps an image or a 3d-temp-buffer onto a cube.
  2367. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2368. parameters are splitted into two sections.
  2369. The first section contains the render settings like the rotation-angle,
  2370. the light-parameters or the camera-position. All this settings
  2371. are disabled if the output-channel is a 3d-temp-buffer instead of
  2372. an image-buffer.
  2373. The second section contains the parameters of the particular effect.
  2374. @{b}Parameters@{ub}
  2375. Name        Possible Values/Unit            Description
  2376. @{uu}
  2377. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2378.             TEMP3D1, ..., TEMP3D4
  2379. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2380.             TEMP3D1, ..., TEMP3D4
  2381. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2382.                                             is used for the last time and can be modified
  2383.                                             directly to conserve both memory and time
  2384. Zoom        -10.0...10.0                    zoom factor for the whole image
  2385. CentreX,    pixels                          centre for zooming and rotating
  2386. CentreY     pixels
  2387. CamX,       pixels                          camera-position
  2388. CamY,       pixels
  2389. CamZ        pixels
  2390. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2391. Alpha       degrees                         first rotation angle
  2392. Beta        degrees                         second rotation angle
  2393. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2394. LightX,     pixels                          light-position
  2395. Intensity   float                           light-intensity (1.0=normal)
  2396. Ambient     0.0...1.0                       intensity of the ambient light
  2397. Hardness    0.6...1.0                       add gloss to the surface
  2398. To simplify the selection of the right view the camera-position is
  2399. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2400. of the generated object into the xy-plane and the camZ-value only
  2401. affects the perspective distortion. The object-size can be adjusted by
  2402. the zoom-parameter.
  2403. This makes it very easy to create effects starting from an untransformed
  2404. image. The camZ-values must be always in the range -100...-10000.
  2405. Small values like -200 cause "strange" views, large values like
  2406. -1000 cause the generation of a nearly parallel view. The actual limits
  2407. depend on the image-size but the preset-value of -800 should always
  2408. produce a "normal 3d-look".
  2409. Phong shading is only applied to triangles or imported Lightwave-objects.
  2410. Name        Possible Values/Unit            Description
  2411. @{uu}
  2412. Size        pixels                          size of the cube
  2413. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2414. onto the six surfaces of the cube.
  2415. To create a cube with 6 different images simply compose them together
  2416. and use the result as input for the Cube-operator.
  2417. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2418. from within the Processor-Window.
  2419. @endnode
  2420. @node opSphere
  2421. @{b}Sphere-Operator@{ub}
  2422. This operator wraps an image or 3d-temp-buffer onto a complete sphere.
  2423. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2424. parameters are splitted into two sections.
  2425. The first section contains the render settings like the rotation-angle,
  2426. the light-parameters or the camera-position. All this settings
  2427. are disabled if the output-channel is a 3d-temp-buffer instead of
  2428. an image-buffer.
  2429. The second section contains the parameters of the particular effect.
  2430. @{b}Parameters@{ub}
  2431. Name        Possible Values/Unit            Description
  2432. @{uu}
  2433. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2434.             TEMP3D1, ..., TEMP3D4
  2435. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2436.             TEMP3D1, ..., TEMP3D4
  2437. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2438.                                             is used for the last time and can be modified
  2439.                                             directly to conserve both memory and time
  2440. Zoom        -10.0...10.0                    zoom factor for the whole image
  2441. CentreX,    pixels                          centre for zooming and rotating
  2442. CentreY     pixels
  2443. CamX,       pixels                          camera-position
  2444. CamY,       pixels
  2445. CamZ        pixels
  2446. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2447. Alpha       degrees                         first rotation angle
  2448. Beta        degrees                         second rotation angle
  2449. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2450. LightX,     pixels                          light-position
  2451. Intensity   float                           light-intensity (1.0=normal)
  2452. Ambient     0.0...1.0                       intensity of the ambient light
  2453. Hardness    0.6...1.0                       add gloss to the surface
  2454. To simplify the selection of the right view the camera-position is
  2455. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2456. of the generated object into the xy-plane and the camZ-value only
  2457. affects the perspective distortion. The object-size can be adjusted by
  2458. the zoom-parameter.
  2459. This makes it very easy to create effects starting from an untransformed
  2460. image. The camZ-values must be always in the range -100...-10000.
  2461. Small values like -200 cause "strange" views, large values like
  2462. -1000 cause the generation of a nearly parallel view. The actual limits
  2463. depend on the image-size but the preset-value of -800 should always
  2464. produce a "normal 3d-look".
  2465. Phong shading is only applied to triangles or imported Lightwave-objects.
  2466. Name        Possible Values/Unit            Description
  2467. @{uu}
  2468. Radius                  radius of the sphere                   (in pixels)
  2469. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2470. from within the Processor-Window.
  2471. @endnode
  2472. @node opTwirl3D
  2473. @{b}Twirl3D-Operator@{ub}
  2474. This operator performs a Twirl-effect to an image or 3d-temp-buffer
  2475. along a selected axis.
  2476. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2477. parameters are splitted into two sections.
  2478. The first section contains the render settings like the rotation-angle,
  2479. the light-parameters or the camera-position. All this settings
  2480. are disabled if the output-channel is a 3d-temp-buffer instead of
  2481. an image-buffer.
  2482. The second section contains the parameters of the particular effect.
  2483. @{b}Parameters@{ub}
  2484. Name        Possible Values/Unit            Description
  2485. @{uu}
  2486. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2487.             TEMP3D1, ..., TEMP3D4
  2488. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2489.             TEMP3D1, ..., TEMP3D4
  2490. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2491.                                             is used for the last time and can be modified
  2492.                                             directly to conserve both memory and time
  2493. Zoom        -10.0...10.0                    zoom factor for the whole image
  2494. CentreX,    pixels                          centre for zooming and rotating
  2495. CentreY     pixels
  2496. CamX,       pixels                          camera-position
  2497. CamY,       pixels
  2498. CamZ        pixels
  2499. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2500. Alpha       degrees                         first rotation angle
  2501. Beta        degrees                         second rotation angle
  2502. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2503. LightX,     pixels                          light-position
  2504. Intensity   float                           light-intensity (1.0=normal)
  2505. Ambient     0.0...1.0                       intensity of the ambient light
  2506. Hardness    0.6...1.0                       add gloss to the surface
  2507. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2508. To simplify the selection of the right view the camera-position is
  2509. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2510. of the generated object into the xy-plane and the camZ-value only
  2511. affects the perspective distortion. The object-size can be adjusted by
  2512. the zoom-parameter.
  2513. This makes it very easy to create effects starting from an untransformed
  2514. image. The camZ-values must be always in the range -100...-10000.
  2515. Small values like -200 cause "strange" views, large values like
  2516. -1000 cause the generation of a nearly parallel view. The actual limits
  2517. depend on the image-size but the preset-value of -800 should always
  2518. produce a "normal 3d-look".
  2519. Phong shading is only applied to triangles or imported Lightwave-objects.
  2520. Name        Possible Values/Unit            Description
  2521. @{uu}
  2522. Axis        X, Y, Z                         axis to rotate around
  2523. Radius      pixels                          twirl-radius
  2524. Amount      degress                         twirl amount, very large values
  2525.                                             like 1000 are allowed
  2526. Power       float                           parameter describing the local
  2527.                                             deformation, large values like 6 concentrate
  2528.                                             the deformation around the centre of the circle
  2529. OriginX,    pixels                          centre of the effect
  2530. OriginY,    pixels
  2531. OriginZ     pixels
  2532. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2533. from within the Processor-Window.
  2534. @endnode
  2535. @node opTwist
  2536. @{b}Twist-Operator@{ub}
  2537. This operator rotates a image along a specified axis with
  2538. varying rotation-angle to create a helix-like shape.
  2539. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2540. parameters are splitted into two sections.
  2541. The first section contains the render settings like the rotation-angle,
  2542. the light-parameters or the camera-position. All this settings
  2543. are disabled if the output-channel is a 3d-temp-buffer instead of
  2544. an image-buffer.
  2545. The second section contains the parameters of the particular effect.
  2546. @{b}Parameters@{ub}
  2547. Name        Possible Values/Unit            Description
  2548. @{uu}
  2549. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2550.             TEMP3D1, ..., TEMP3D4
  2551. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2552.             TEMP3D1, ..., TEMP3D4
  2553. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2554.                                             is used for the last time and can be modified
  2555.                                             directly to conserve both memory and time
  2556. Zoom        -10.0...10.0                    zoom factor for the whole image
  2557. CentreX,    pixels                          centre for zooming and rotating
  2558. CentreY     pixels
  2559. CamX,       pixels                          camera-position
  2560. CamY,       pixels
  2561. CamZ        pixels
  2562. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2563. Alpha       degrees                         first rotation angle
  2564. Beta        degrees                         second rotation angle
  2565. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2566. LightX,     pixels                          light-position
  2567. Intensity   float                           light-intensity (1.0=normal)
  2568. Ambient     0.0...1.0                       intensity of the ambient light
  2569. Hardness    0.6...1.0                       add gloss to the surface
  2570. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2571. To simplify the selection of the right view the camera-position is
  2572. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2573. of the generated object into the xy-plane and the camZ-value only
  2574. affects the perspective distortion. The object-size can be adjusted by
  2575. the zoom-parameter.
  2576. This makes it very easy to create effects starting from an untransformed
  2577. image. The camZ-values must be always in the range -100...-10000.
  2578. Small values like -200 cause "strange" views, large values like
  2579. -1000 cause the generation of a nearly parallel view. The actual limits
  2580. depend on the image-size but the preset-value of -800 should always
  2581. produce a "normal 3d-look".
  2582. Phong shading is only applied to triangles or imported Lightwave-objects.
  2583. Name        Possible Values/Unit            Description
  2584. @{uu}
  2585. Axis        X, Y, Z                         axis to rotate around
  2586. Amount      degrees                         maximum rotate-angle
  2587. Dist        pixels                          distance of the effect
  2588. OriginX,    pixels                          the point at which the rotation starts
  2589. OriginY,    pixels
  2590. OriginZ     pixels
  2591. Negative Dist-values are allowed and cause the propagation
  2592. along the opposite direction.
  2593. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2594. from within the Processor-Window.
  2595. @endnode
  2596. @node opMagnet3D
  2597. @{b}Magnet3D-Operator@{ub}
  2598. This operator simulates the dragging of a point of the input-image
  2599. or -3d-temp-buffer using a model of plasticity. This makes it possible
  2600. to add a third dimension to selected parts of an image.
  2601. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2602. parameters are splitted into two sections.
  2603. The first section contains the render settings like the rotation-angle,
  2604. the light-parameters or the camera-position. All this settings
  2605. are disabled if the output-channel is a 3d-temp-buffer instead of
  2606. an image-buffer.
  2607. The second section contains the parameters of the particular effect.
  2608. @{b}Parameters@{ub}
  2609. Name        Possible Values/Unit            Description
  2610. @{uu}
  2611. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2612.             TEMP3D1, ..., TEMP3D4
  2613. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2614.             TEMP3D1, ..., TEMP3D4
  2615. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2616.                                             is used for the last time and can be modified
  2617.                                             directly to conserve both memory and time
  2618. Zoom        -10.0...10.0                    zoom factor for the whole image
  2619. CentreX,    pixels                          centre for zooming and rotating
  2620. CentreY     pixels
  2621. CamX,       pixels                          camera-position
  2622. CamY,       pixels
  2623. CamZ        pixels
  2624. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2625. Alpha       degrees                         first rotation angle
  2626. Beta        degrees                         second rotation angle
  2627. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2628. LightX,     pixels                          light-position
  2629. Intensity   float                           light-intensity (1.0=normal)
  2630. Ambient     0.0...1.0                       intensity of the ambient light
  2631. Hardness    0.6...1.0                       add gloss to the surface
  2632. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2633. To simplify the selection of the right view the camera-position is
  2634. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2635. of the generated object into the xy-plane and the camZ-value only
  2636. affects the perspective distortion. The object-size can be adjusted by
  2637. the zoom-parameter.
  2638. This makes it very easy to create effects starting from an untransformed
  2639. image. The camZ-values must be always in the range -100...-10000.
  2640. Small values like -200 cause "strange" views, large values like
  2641. -1000 cause the generation of a nearly parallel view. The actual limits
  2642. depend on the image-size but the preset-value of -800 should always
  2643. produce a "normal 3d-look".
  2644. Phong shading is only applied to triangles or imported Lightwave-objects.
  2645. Name        Possible Values/Unit            Description
  2646. @{uu}
  2647. SrcX,       pixels                          coordinates of the point to drag
  2648. SrcY,       pixels
  2649. SrcZ        pixels
  2650. DestX,      pixels                          destination of the point
  2651. DestY,      pixels
  2652. DestZ       pixels
  2653. Shape       SMOOTH, SHARP                   selects the kind of deformation
  2654. Strength    float                           represents the elasticity of the "material",
  2655.                                             larger values like 5.0 will cause the deformation
  2656.                                             of only a part of the object, small values like 0.1
  2657.                                             will cause the deformation of the whole object
  2658. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2659. from within the Processor-Window.
  2660. @endnode
  2661. @node opTransform3D
  2662. @{b}Transform3D-Operator@{ub}
  2663. This operator performs some standard 3d-transformations on
  2664. images or 3d-temp-buffers. This makes it for example possible
  2665. to deform a sphere into a lens or to apply other 3d-effects
  2666. along any axis.
  2667. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2668. parameters are splitted into two sections.
  2669. The first section contains the render settings like the rotation-angle,
  2670. the light-parameters or the camera-position. All this settings
  2671. are disabled if the output-channel is a 3d-temp-buffer instead of
  2672. an image-buffer.
  2673. The second section contains the parameters of the particular effect.
  2674. @{b}Parameters@{ub}
  2675. Name        Possible Values/Unit            Description
  2676. @{uu}
  2677. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2678.             TEMP3D1, ..., TEMP3D4
  2679. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2680.             TEMP3D1, ..., TEMP3D4
  2681. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2682.                                             is used for the last time and can be modified
  2683.                                             directly to conserve both memory and time
  2684. Zoom        -10.0...10.0                    zoom factor for the whole image
  2685. CentreX,    pixels                          centre for zooming and rotating
  2686. CentreY     pixels
  2687. CamX,       pixels                          camera-position
  2688. CamY,       pixels
  2689. CamZ        pixels
  2690. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2691. Alpha       degrees                         first rotation angle
  2692. Beta        degrees                         second rotation angle
  2693. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2694. LightX,     pixels                          light-position
  2695. Intensity   float                           light-intensity (1.0=normal)
  2696. Ambient     0.0...1.0                       intensity of the ambient light
  2697. Hardness    0.6...1.0                       add gloss to the surface
  2698. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2699. To simplify the selection of the right view the camera-position is
  2700. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2701. of the generated object into the xy-plane and the camZ-value only
  2702. affects the perspective distortion. The object-size can be adjusted by
  2703. the zoom-parameter.
  2704. This makes it very easy to create effects starting from an untransformed
  2705. image. The camZ-values must be always in the range -100...-10000.
  2706. Small values like -200 cause "strange" views, large values like
  2707. -1000 cause the generation of a nearly parallel view. The actual limits
  2708. depend on the image-size but the preset-value of -800 should always
  2709. produce a "normal 3d-look".
  2710. Phong shading is only applied to triangles or imported Lightwave-objects.
  2711. Name        Possible Values/Unit            Description
  2712. @{uu}
  2713. ScaleX,     -10.0...10.0                    object-scaling
  2714. ScaleY,     -10.0...10.0
  2715. ScaleZ      -10.0...10.0
  2716. TransX,     pixels                          object-translation
  2717. TransY,     pixels
  2718. TransZ      pixels
  2719. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2720. Alpha       degrees                         first rotation angle
  2721. Beta        degrees                         second rotation angle
  2722. OriginX,    pixels                          centre for scaling and rotating
  2723. OriginY,    pixels
  2724. OriginZ     pixels
  2725. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2726. from within the Processor-Window.
  2727. @endnode
  2728. @node opJoin3D
  2729. @{b}Join3D-Operator@{ub}
  2730. This operator joins two different 3d-temp-buffers and makes
  2731. it so possible to compose images in the 3d-space.
  2732. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2733. parameters are splitted into two sections.
  2734. The first section contains the render settings like the rotation-angle,
  2735. the light-parameters or the camera-position. All this settings
  2736. are disabled if the output-channel is a 3d-temp-buffer instead of
  2737. an image-buffer.
  2738. The second section contains the parameters of the particular effect.
  2739. @{b}Parameters@{ub}
  2740. Name        Possible Values/Unit            Description
  2741. @{uu}
  2742. Input1      TEMP3D1, ..., TEMP3D4           1st input buffer
  2743. Input2      TEMP3D1, ..., TEMP3D4           2nd input buffer
  2744. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2745.             TEMP3D1, ..., TEMP3D4
  2746. Zoom        -10.0...10.0                    zoom factor for the whole image
  2747. CentreX,    pixels                          centre for zooming and rotating
  2748. CentreY     pixels
  2749. CamX,       pixels                          camera-position
  2750. CamY,       pixels
  2751. CamZ        pixels
  2752. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2753. Alpha       degrees                         first rotation angle
  2754. Beta        degrees                         second rotation angle
  2755. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2756. LightX,     pixels                          light-position
  2757. Intensity   float                           light-intensity (1.0=normal)
  2758. Ambient     0.0...1.0                       intensity of the ambient light
  2759. Hardness    0.6...1.0                       add gloss to the surface
  2760. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2761. To simplify the selection of the right view the camera-position is
  2762. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2763. of the generated object into the xy-plane and the camZ-value only
  2764. affects the perspective distortion. The object-size can be adjusted by
  2765. the zoom-parameter.
  2766. This makes it very easy to create effects starting from an untransformed
  2767. image. The camZ-values must be always in the range -100...-10000.
  2768. Small values like -200 cause "strange" views, large values like
  2769. -1000 cause the generation of a nearly parallel view. The actual limits
  2770. depend on the image-size but the preset-value of -800 should always
  2771. produce a "normal 3d-look".
  2772. Phong shading is only applied to triangles or imported Lightwave-objects.
  2773. Because no additional transformations are applied to the images the two
  2774. input buffers must be different (otherwise joining makes no sense).
  2775. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2776. from within the Processor-Window.
  2777. @endnode
  2778. @node opBump3D
  2779. @{b}Bump3D-Operator@{ub}
  2780. This operator applies the grayscale-levels of a bump-map
  2781. as z-values to an image or 3d-temp-buffer. For good results
  2782. the bump-map should be very smooth. Such smooth images can be
  2783. easily created using the @{" Convolve " link opConvolve}-Operator with the
  2784. default 5x5 matrix.
  2785. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2786. parameters are splitted into two sections.
  2787. The first section contains the render settings like the rotation-angle,
  2788. the light-parameters or the camera-position. All this settings
  2789. are disabled if the output-channel is a 3d-temp-buffer instead of
  2790. an image-buffer.
  2791. The second section contains the parameters of the particular effect.
  2792. @{b}Parameters@{ub}
  2793. Name        Possible Values/Unit            Description
  2794. @{uu}
  2795. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2796.             TEMP3D1, ..., TEMP3D4
  2797. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2798.             TEMP3D1, ..., TEMP3D4
  2799. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2800.                                             is used for the last time and can be modified
  2801.                                             directly to conserve both memory and time
  2802. Zoom        -10.0...10.0                    zoom factor for the whole image
  2803. CentreX,    pixels                          centre for zooming and rotating
  2804. CentreY     pixels
  2805. CamX,       pixels                          camera-position
  2806. CamY,       pixels
  2807. CamZ        pixels
  2808. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2809. Alpha       degrees                         first rotation angle
  2810. Beta        degrees                         second rotation angle
  2811. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2812. LightX,     pixels                          light-position
  2813. Intensity   float                           light-intensity (1.0=normal)
  2814. Ambient     0.0...1.0                       intensity of the ambient light
  2815. Hardness    0.6...1.0                       add gloss to the surface
  2816. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2817. To simplify the selection of the right view the camera-position is
  2818. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2819. of the generated object into the xy-plane and the camZ-value only
  2820. affects the perspective distortion. The object-size can be adjusted by
  2821. the zoom-parameter.
  2822. This makes it very easy to create effects starting from an untransformed
  2823. image. The camZ-values must be always in the range -100...-10000.
  2824. Small values like -200 cause "strange" views, large values like
  2825. -1000 cause the generation of a nearly parallel view. The actual limits
  2826. depend on the image-size but the preset-value of -800 should always
  2827. produce a "normal 3d-look".
  2828. Phong shading is only applied to triangles or imported Lightwave-objects.
  2829. Name        Possible Values/Unit            Description
  2830. @{uu}
  2831. Map         STREAM, TEMP1, ..., TEMP8       bump-map
  2832. Amount      integer                         maximum height corresponding to a
  2833.                                             grayscale level of 255
  2834. NoGround    ON, OFF                         subtract the "ground" (the average) of
  2835.                                             the bumpmap to produce only contrast and
  2836.                                             no additional translation
  2837. Width       pixels                          width of the bump-map
  2838. Height      pixels                          height of the bump-map
  2839. Aspect      IGNORE, TAKEWIDTH, TAKEHEIGHT   aspect of the bump-map (see @{" Scale " link opScale})
  2840. OriginX     pixels                          left edge of the bump-map
  2841. OriginY     pixels                          top edge of the bump-map
  2842. Centre      ON, OFF                         centre the bumpmap inside of the
  2843.                                             input-image
  2844. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2845. from within the Processor-Window.
  2846. @endnode
  2847. @node opLWOB
  2848. @{b}LWOB-Operator@{ub}
  2849. This operator reads in a Lightwave-object and converts it into
  2850. Wildfire's 3D-format. This makes it possible to combine 
  2851. phong-shaded 3D-objects and images using the @{" PowerPlugs!-concept " link PowerPlugs!}-
  2852. mechanism.
  2853. Only 1-, 2-, 3-, and 4-point-polygons are supported, all polygons
  2854. with more points are ignored while reading.
  2855. To simplify the creation of object-catalogues the filename
  2856. can be plotted directly to the generated image and
  2857. whole drawers can be processed easily.
  2858. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2859. parameters are splitted into two sections.
  2860. The first section contains the render settings like the rotation-angle,
  2861. the light-parameters or the camera-position. All this settings
  2862. are disabled if the output-channel is a 3d-temp-buffer instead of
  2863. an image-buffer.
  2864. The second section contains the parameters of the particular effect.
  2865. @{b}Parameters@{ub}
  2866. Name        Possible Values/Unit            Description
  2867. @{uu}
  2868. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2869.             TEMP3D1, ..., TEMP3D4
  2870. Zoom        -10.0...10.0                    zoom factor for the whole image
  2871. CentreX,    pixels                          centre for zooming and rotating
  2872. CentreY     pixels
  2873. CamX,       pixels                          camera-position
  2874. CamY,       pixels
  2875. CamZ        pixels
  2876. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2877. Alpha       degrees                         first rotation angle
  2878. Beta        degrees                         second rotation angle
  2879. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2880. LightX,     pixels                          light-position
  2881. Intensity   float                           light-intensity (1.0=normal)
  2882. Ambient     0.0...1.0                       intensity of the ambient light
  2883. Hardness    0.6...1.0                       add gloss to the surface
  2884. To simplify the selection of the right view the camera-position is
  2885. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2886. of the generated object into the xy-plane and the camZ-value only
  2887. affects the perspective distortion. The object-size can be adjusted by
  2888. the zoom-parameter.
  2889. This makes it very easy to create effects starting from an untransformed
  2890. image. The camZ-values must be always in the range -100...-10000.
  2891. Small values like -200 cause "strange" views, large values like
  2892. -1000 cause the generation of a nearly parallel view. The actual limits
  2893. depend on the image-size but the preset-value of -800 should always
  2894. produce a "normal 3d-look".
  2895. Text                                        toggle the kind of text to be plotted to the image,
  2896.             OFF,                             no text will be generated,
  2897.             SMALL,                           plot the filename without the path,
  2898.             FULL                             plot the full filename with path
  2899. Select Font (gadget)                        select the font for the generated string
  2900. File        string                          object-file or drawer to be scanned
  2901. Width       pixels                          width of the image to be created
  2902. Height      pixels                          height of the image to be created
  2903. TRed,       0...255                         text color
  2904. TGreen,     0...255
  2905. TBlue       0...255
  2906. To simplify the selection of the right view the camera-position is
  2907. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2908. of the generated object into the xy-plane and the camZ-value only
  2909. affects the perspective distortion. The object-size can be adjusted by
  2910. the zoom-parameter.
  2911. This makes it very easy to create effects starting from an untransformed
  2912. image. The camZ-values must be always in the range -100...-10000.
  2913. Small values like -200 cause "strange" views, large values like
  2914. -1000 cause the generation of a nearly parallel view. The actual limits
  2915. depend on the image-size but the preset-value of -800 should always
  2916. produce a "normal 3d-look".
  2917. Phong shading is only applied to triangles or imported Lightwave-objects.
  2918. If the specified input-file cannot be found the path is scanned
  2919. as drawer to create an alphabetically sorted filelist.
  2920. Later the n-th item of this list is processed at frame n.
  2921. See the @{" Tutorial " link Tutorials} for an example.
  2922. @endnode
  2923. @node opPerspective
  2924. @{b}Perspective-Operator@{ub}
  2925. This operator adds perspective to an image.
  2926. @{b}Parameters@{ub}
  2927. Name        Possible Values/Unit            Description
  2928. @{uu}
  2929. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2930.             TEMP3D1, ..., TEMP3D4
  2931. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2932.             TEMP3D1, ..., TEMP3D4
  2933. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2934.                                             is used for the last time and can be modified
  2935.                                             directly to conserve both memory and time
  2936. Zoom        -10.0...10.0                    zoom factor for the whole image
  2937. CentreX,    pixels                          centre for zooming and rotating
  2938. CentreY     pixels
  2939. CamX,       pixels                          camera-position
  2940. CamY,       pixels
  2941. CamZ        pixels
  2942. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2943. Alpha       degrees                         first rotation angle
  2944. Beta        degrees                         second rotation angle
  2945. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2946. LightX,     pixels                          light-position
  2947. Intensity   float                           light-intensity (1.0=normal)
  2948. Ambient     0.0...1.0                       intensity of the ambient light
  2949. Hardness    0.6...1.0                       add gloss to the surface
  2950. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2951. To simplify the selection of the right view the camera-position is
  2952. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2953. of the generated object into the xy-plane and the camZ-value only
  2954. affects the perspective distortion. The object-size can be adjusted by
  2955. the zoom-parameter.
  2956. This makes it very easy to create effects starting from an untransformed
  2957. image. The camZ-values must be always in the range -100...-10000.
  2958. Small values like -200 cause "strange" views, large values like
  2959. -1000 cause the generation of a nearly parallel view. The actual limits
  2960. depend on the image-size but the preset-value of -800 should always
  2961. produce a "normal 3d-look".
  2962. Phong shading is only applied to triangles or imported Lightwave-objects.
  2963. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2964. from within the Processor-Window.
  2965. @endnode
  2966. @node opWater
  2967. @{b}Water-Operator@{ub}
  2968. This operator applies a threedimensional anharmonic water-wave
  2969. to an image.
  2970. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2971. parameters are splitted into two sections.
  2972. The first section contains the render settings like the rotation-angle,
  2973. the light-parameters or the camera-position. All this settings
  2974. are disabled if the output-channel is a 3d-temp-buffer instead of
  2975. an image-buffer.
  2976. The second section contains the parameters of the particular effect.
  2977. @{b}Parameters@{ub}
  2978. Name        Possible Values/Unit            Description
  2979. @{uu}
  2980. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2981.             TEMP3D1, ..., TEMP3D4
  2982. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2983.             TEMP3D1, ..., TEMP3D4
  2984. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2985.                                             is used for the last time and can be modified
  2986.                                             directly to conserve both memory and time
  2987. Zoom        -10.0...10.0                    zoom factor for the whole image
  2988. CentreX,    pixels                          centre for zooming and rotating
  2989. CentreY     pixels
  2990. CamX,       pixels                          camera-position
  2991. CamY,       pixels
  2992. CamZ        pixels
  2993. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2994. Alpha       degrees                         first rotation angle
  2995. Beta        degrees                         second rotation angle
  2996. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  2997. LightX,     pixels                          light-position
  2998. Intensity   float                           light-intensity (1.0=normal)
  2999. Ambient     0.0...1.0                       intensity of the ambient light
  3000. Hardness    0.6...1.0                       add gloss to the surface
  3001. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  3002. To simplify the selection of the right view the camera-position is
  3003. interpreted as follows. The (camX,camY)-pair causes a simple translation
  3004. of the generated object into the xy-plane and the camZ-value only
  3005. affects the perspective distortion. The object-size can be adjusted by
  3006. the zoom-parameter.
  3007. This makes it very easy to create effects starting from an untransformed
  3008. image. The camZ-values must be always in the range -100...-10000.
  3009. Small values like -200 cause "strange" views, large values like
  3010. -1000 cause the generation of a nearly parallel view. The actual limits
  3011. depend on the image-size but the preset-value of -800 should always
  3012. produce a "normal 3d-look".
  3013. Phong shading is only applied to triangles or imported Lightwave-objects.
  3014. Name        Possible Values/Unit            Description
  3015. @{uu}
  3016. Frame       integer>0                       current frame
  3017. Frames      integer>0                       frame count describing a full cycle
  3018. Times       integer>0                       number of rings, values in the range 1..3 are
  3019.                                             are always a good choice
  3020. Rings       integer>0                       number of times the growing of rings is performed,
  3021.                                             after one cycle the 1st ring has the
  3022.                                             distance times*wavelength from the centre,
  3023.                                             values 2..10 give good results
  3024. Axis                                        direction of propagation,
  3025.             X,                               parallel to the x-axis,
  3026.             Y,                               parallel to the y-axis,
  3027.             XY,                              radial propagation
  3028. Amplitude   pixels                          wave-amplitude, this value should be always in
  3029.                                             the range 1..4
  3030. Wavelength  pixels                          wavelength
  3031. OriginX,    pixels                          location of the wave-source
  3032. OriginY     pixels
  3033. Damping     ON, OFF                         toggle damping on/off
  3034. Damping     float                           damping-value
  3035. moveXY      ON, OFF                         specify if the deformation is applied to all
  3036.                                             components (x,y,z) or not. If this option is set
  3037.                                             there may occur some singularities ("bad points"),
  3038.                                             but this mode is very close to the reality.
  3039. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  3040. from within the Processor-Window.
  3041. @endnode
  3042. @node opWave3D
  3043. @{b}Wave3D-Operator@{ub}
  3044. This operator applies a harmonic wave in the threedimensional
  3045. space to an image.
  3046. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  3047. parameters are splitted into two sections.
  3048. The first section contains the render settings like the rotation-angle,
  3049. the light-parameters or the camera-position. All this settings
  3050. are disabled if the output-channel is a 3d-temp-buffer instead of
  3051. an image-buffer.
  3052. The second section contains the parameters of the particular effect.
  3053. @{b}Parameters@{ub}
  3054. Name        Possible Values/Unit            Description
  3055. @{uu}
  3056. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3057.             TEMP3D1, ..., TEMP3D4
  3058. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3059.             TEMP3D1, ..., TEMP3D4
  3060. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3061.                                             is used for the last time and can be modified
  3062.                                             directly to conserve both memory and time
  3063. Zoom        -10.0...10.0                    zoom factor for the whole image
  3064. CentreX,    pixels                          centre for zooming and rotating
  3065. CentreY     pixels
  3066. CamX,       pixels                          camera-position
  3067. CamY,       pixels
  3068. CamZ        pixels
  3069. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  3070. Alpha       degrees                         first rotation angle
  3071. Beta        degrees                         second rotation angle
  3072. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  3073. LightX,     pixels                          light-position
  3074. Intensity   float                           light-intensity (1.0=normal)
  3075. Ambient     0.0...1.0                       intensity of the ambient light
  3076. Hardness    0.6...1.0                       add gloss to the surface
  3077. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  3078. To simplify the selection of the right view the camera-position is
  3079. interpreted as follows. The (camX,camY)-pair causes a simple translation
  3080. of the generated object into the xy-plane and the camZ-value only
  3081. affects the perspective distortion. The object-size can be adjusted by
  3082. the zoom-parameter.
  3083. This makes it very easy to create effects starting from an untransformed
  3084. image. The camZ-values must be always in the range -100...-10000.
  3085. Small values like -200 cause "strange" views, large values like
  3086. -1000 cause the generation of a nearly parallel view. The actual limits
  3087. depend on the image-size but the preset-value of -800 should always
  3088. produce a "normal 3d-look".
  3089. Phong shading is only applied to triangles or imported Lightwave-objects.
  3090. Name        Possible Values/Unit            Description
  3091. @{uu}
  3092. Frame       integer>0                       current frame
  3093. Frames      integer>0                       number of frame describing a full cycle
  3094. Amplitude   pixels                          wave-amplitude
  3095. Wavelength  pixels                          wavelength
  3096. Phase       degrees                         phase
  3097. Axis                                        direction of propagation,
  3098.             X                                parallel to the x-axis
  3099.             Y                                parallel to the y-axis
  3100.             XY                               radial propagation in the xy-plane
  3101.             RADIAL                           radial propagation in the xyz-space
  3102. OriginX,    pixels                          position of the wave-source
  3103. OriginY     pixels
  3104. Damping     ON, OFF                         toggle damping on/off
  3105. Damping     float                           damping-value
  3106. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  3107. from within the Processor-Window.
  3108. @endnode
  3109. @node opWrap
  3110. @{b}Wrap-Operator@{ub}
  3111. This operator wraps an image onto a sphere or a tube. An unique
  3112. feature is the deformation of "unwrapped" portions of the image
  3113. in "RADIUS"-mode.
  3114. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  3115. parameters are splitted into two sections.
  3116. The first section contains the render settings like the rotation-angle,
  3117. the light-parameters or the camera-position. All this settings
  3118. are disabled if the output-channel is a 3d-temp-buffer instead of
  3119. an image-buffer.
  3120. The second section contains the parameters of the particular effect.
  3121. @{b}Parameters@{ub}
  3122. Name        Possible Values/Unit            Description
  3123. @{uu}
  3124. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  3125.             TEMP3D1, ..., TEMP3D4
  3126. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  3127.             TEMP3D1, ..., TEMP3D4
  3128. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  3129.                                             is used for the last time and can be modified
  3130.                                             directly to conserve both memory and time
  3131. Zoom        -10.0...10.0                    zoom factor for the whole image
  3132. CentreX,    pixels                          centre for zooming and rotating
  3133. CentreY     pixels
  3134. CamX,       pixels                          camera-position
  3135. CamY,       pixels
  3136. CamZ        pixels
  3137. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  3138. Alpha       degrees                         first rotation angle
  3139. Beta        degrees                         second rotation angle
  3140. Light       NORMAL, PHONG, OFF              set the type of the applied shading
  3141. LightX,     pixels                          light-position
  3142. Intensity   float                           light-intensity (1.0=normal)
  3143. Ambient     0.0...1.0                       intensity of the ambient light
  3144. Hardness    0.6...1.0                       add gloss to the surface
  3145. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  3146. To simplify the selection of the right view the camera-position is
  3147. interpreted as follows. The (camX,camY)-pair causes a simple translation
  3148. of the generated object into the xy-plane and the camZ-value only
  3149. affects the perspective distortion. The object-size can be adjusted by
  3150. the zoom-parameter.
  3151. This makes it very easy to create effects starting from an untransformed
  3152. image. The camZ-values must be always in the range -100...-10000.
  3153. Small values like -200 cause "strange" views, large values like
  3154. -1000 cause the generation of a nearly parallel view. The actual limits
  3155. depend on the image-size but the preset-value of -800 should always
  3156. produce a "normal 3d-look".
  3157. Phong shading is only applied to triangles or imported Lightwave-objects.
  3158. Name        Possible Values/Unit            Description
  3159. @{uu}
  3160. Axis                                        wrap axis,
  3161.             X,                               wrap the image onto a tube along the x-axis
  3162.             Y,                               wrap the image onto a tube along the y-axis
  3163.             XY,                              wrap the image onto a sphere
  3164. OriginX,    pixels                          origin of the sphere/tube
  3165. OriginY     prixels
  3166. Amount      0...100                         wrap-amount
  3167. Radius      pixels                          radius of the sphere or tube
  3168. Method                                      method used for wrapping,
  3169.             RADIUS,                          create a sphere/tube of the radius
  3170.                                              specified, wrap the image onto it and
  3171.                                              deform the unwrapped portions according
  3172.                                              to the shape
  3173.             AMOUNT                           create a sphere/tube to fit the whole
  3174.                                              wrapped image, the specified amount-value
  3175.                                              specifies the amount of wrapping in percent
  3176. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  3177. from within the Processor-Window.
  3178. @endnode
  3179. @node opARexx
  3180. @{b}ARexx-Operator@{ub}
  3181. This operator makes it possible to exchange images with other applications.
  3182. The basic concept is to produce an ARexx-script which causes the application
  3183. to load, process and save a temperary image created by Wildfire.
  3184. @{b}Parameters@{ub}
  3185. Name         Possible Values/Unit            Description
  3186. @{uu}
  3187. Input        STREAM, TEMP1, ..., TEMP8       input buffer
  3188. Ouput        STREAM, TEMP1, ..., TEMP8       output buffer
  3189. Port         string                          ARexx-port of the application
  3190. Temp-File    string                          path for the temperorary image to be created
  3191. Add          (gadget)                        add a line to the ARexx-script
  3192. Kill         (gadget)                        kill the selected line
  3193. Up           (gadget)                        move the selected line up
  3194. Down         (gagget)                        move the selected line down
  3195. Clear        (gadget)                        clear the whole script
  3196. Add Variable (gadget)                        add a variable-entry to the selected line
  3197. Import       (gadget)                        load a previously saved script
  3198. Export       (gadget)                        save the current script to disk
  3199. A "normal" script should contain the three parts:
  3200.  -loading of the temporary image created by Wildfire
  3201.  -processing of this image
  3202.  -saving of the result
  3203. The 3rd part is the only important.
  3204. Every line of the script has to be entered in the format of
  3205. a C-printf-command. This allows one to use Envelopes in
  3206. such an ARexx-script.
  3207. The basic syntax is as follows:  "<formatstring>",arguments
  3208. (The enclosing '"'-characters are important.)
  3209. Three formats are supported:
  3210.  "%s" - for strings
  3211.  "%d" - for integer parameters
  3212.  "%f" - for float parameters
  3213. The number of format-specifiers must be always equal to the number
  3214. of arguments. Any special formats-strings like "%.4lf" are
  3215. not supported.
  3216. Examples:
  3217.  line to be entered:                 line generated by Wildfire:
  3218.   "integer: %d",10.3                  integer: 10
  3219.   "float: %f",10.3                    float: 10.3
  3220.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  3221. To use an Envelope simply enter it's name as argument, rounding
  3222. is performed if you specify "%d" as corresponding formatstring.
  3223. The filename of the temporary image can be omitted using
  3224. the predefined argument "tempfile".
  3225. Now let's create a working example. Assume you want to have
  3226. ADPro to halve your images and to apply an Antique-effect
  3227. to the result.
  3228. At first you have to set the path of your application (which
  3229. will be started automatically if it's port cannot be located)
  3230. from within the @{" Preferences-Window " link PreferencesWindow}.
  3231. After that you have to specify the portname, in this case "ADPro".
  3232. At first entry in the script you should specify ADPro's default Loader:
  3233.  "lformat "universal""
  3234. Now the image can be loaded
  3235.  "load '%s'",tempfile
  3236. Apply the effects:
  3237.  "operator halve"
  3238.  "operator antique"
  3239. Specify the the Saver to use:
  3240. "sformat "iff""
  3241. Save the image:
  3242.  "save '%s' raw",tempfile
  3243. That's all. Now you should save this script
  3244.  "lformat "universal""
  3245.  "load '%s'",tempfile
  3246.  "operator halve"
  3247.  "operator antique"
  3248.  "sformat "iff""
  3249.  "save '%s' raw",tempfile
  3250. as "reference-script". For further purposes only the "operator"-lines
  3251. have to be replaced.
  3252. @endnode
  3253. @node opComment
  3254. @{b}Comment-Operator@{ub}
  3255. This operator simply allows you to add comments to the Processor-script.
  3256. @{b}Parameters@{ub}
  3257. Name        Possible Values/Unit      Description
  3258. @{uu}
  3259. String      string                    the comment
  3260. @endnode
  3261. @node opExample
  3262. @{b}Example-Operator@{ub}
  3263. This operator acts as an example for the developer-kit.
  3264. It turns all pixels which have a brightness larger than a specified
  3265. value into grayscale.
  3266. @{b}Parameters@{ub}
  3267. Name        Possible Values/Unit            Description
  3268. @{uu}
  3269. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3270. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3271. Switch1     MODEA1, MODEA2                  not used
  3272. Switch2     MODEB1, ..., MODEB4             not used
  3273. IntVal1     integer                         not used
  3274. IntVal2     0...255                         grayscale-level
  3275. FloatVal1   float                           not used
  3276. FloatVal2   float                           not used
  3277. @endnode
  3278. @node opRaster
  3279. @{b}Raster-Operator@{ub}
  3280. This operator applies a black raster to an image. The main
  3281. purpose of this PlugIn is to reduce the size of delta-compressed
  3282. animations without loosing too much details.
  3283. @{b}Parameters@{ub}
  3284. Name        Possible Values/Unit            Description
  3285. @{uu}
  3286. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3287. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3288. @endnode
  3289. @node opText
  3290. @{b}Text-Operator@{ub}
  3291. This operator renders text in various styles. Unlike to other programs
  3292. whole text-files can be used and edited.
  3293. @{b}Parameters@{ub}
  3294. Name        Possible Values/Unit            Description
  3295. @{uu}
  3296. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3297. Style                                       render-style
  3298.             NORMAL                           use the font without applying
  3299.                                              any changes, this method should be
  3300.                                              selected using color-fonts
  3301.             OUTLINE                          draw outlines of the selected font
  3302.             EMBOSS                           produce a threedimensional look
  3303. Adjust      LEFT, CENTERED, RIGHT           text-adjustment, this setting has only an effect when
  3304.                                             plotting more than one line of text
  3305. Red,        0...255                         text-color
  3306. Green,      0...255
  3307. Blue        0...255
  3308. BGRed,      0...255                         background-color
  3309. BGGreen,    0...255
  3310. BGBlue      0...255
  3311. Strength    pixels                          thickness of the outline drawed around the
  3312.                                             text in OUTLINE- or EMBOSS-mode
  3313. Intensity   float                           light-intensity (1.0=normal)
  3314. LightX,     pixels                          light-position
  3315. LightY,     pixels
  3316. LightZ      pixels
  3317. HSkip       pixels                          additional space between two lines
  3318. Select Font (gadget)                        select the font to use for all lines
  3319. Add         (gadget)                        add a line of text
  3320. Kill        (gadget)                        delete the selected line
  3321. Up          (gadget)                        move the selected line up
  3322. Down        (gadget)                        move the selected line down
  3323. Clear       (gadget)                        clear all lines of text
  3324. Import      (gadgt)                         import text from a file
  3325. Export      (gadget)                        save the current text to disk
  3326. @endnode
  3327. @NODE beispiele "5. Examples"
  3328. @{b}5. Examples
  3329. -----------------------------------------------------------------@{ub}
  3330.  (i) An animation will be displayed in negative colors and a smaller
  3331.      version of the anim will be placed in the right colors over
  3332.      the `negative` animation
  3333.      Scheme:
  3334.       *STREAM to negativ and save to TEMP1
  3335.       *STREAM to halve and save to STREAM
  3336.       *Compose TEMP1 as background and STREAM as foreground
  3337.        and save to STREAM
  3338.      ARexx-Program:
  3339.       pc_add negative stream temp1
  3340.       pc_add scale stream stream width/2 height/2
  3341.       pc_add compose width/3 height/3 100 temp1 stream stream none
  3342.      NOTE:
  3343.     *The ARexx-notation is very useful. So you can take the examples
  3344.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  3345.      too.
  3346.     *Of course you should try out the examples inside the program,
  3347.      first. Just start @{" WILDFIRE " link Wildfire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  3348.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  3349.      on the NEGATIVE entry in the script. Now you can select STREAM as INPUT and
  3350.      TEMP1 as output. Do the needed things for the other 2 commands, too.
  3351.     *width and height are the height and the width of the animation or
  3352.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  3353.      "T_PICINFO" you can get the needed details.
  3354.  (ii) An animation will be placed on a colored background using a white
  3355.       border with shadow.
  3356.       Scheme:
  3357.     *create a colored background with width+80 and height+80 in 
  3358.      "TEMP1"
  3359.     *create a white picture with width+20 and height+20 in "TEMP2"
  3360.      the border-size is 10 pixels (20/2)
  3361.     *create a black picture with width+20 and height+20 in "TEMP3"
  3362.      the border-size is 10 pixels, too
  3363.     *place the black picture on the colored background with offset
  3364.      40x40 pixels
  3365.     *place the white picture on the colored background (now with
  3366.      the black picture on it) with offset 30x30
  3367.     *all these things you have to do ONLY 1 time, the result-picture
  3368.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  3369.      So we can tell @{" Wildfire " link Wildfire.guide/MAIN} that it has to do this
  3370.       effect only for the first frame!
  3371.     *every picture from the animation will be placed with
  3372.      offset 40x40 on the created colored picture with black and white
  3373.      border.
  3374.       ARexx-Programm:
  3375.        /* create background and save to TEMP1  */
  3376.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  3377.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  3378.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  3379.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  3380.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  3381.        /* only do this operations at frame 1 */
  3382.        pc_select createimage 1
  3383.        pc_to 1
  3384.        pc_select createimage 2
  3385.        pc_to 1
  3386.        pc_select createimage 3
  3387.        pc_to 1
  3388.        pc_select compose 1
  3389.        pc_to 1
  3390.        pc_select compose 2
  3391.        pc_to 1
  3392.        /* compose STREAM with TEMP1 for every animation-picture */
  3393.        pc_add compose 40 40 100 temp1 stream stream none
  3394. @ENDNODE
  3395. @remark /*************************************************************/
  3396. @remark /*
  3397. @remark                            Developer
  3398. @remark */
  3399. @remark /*************************************************************/
  3400. @node Developer
  3401. @{b}The YAFA-Format@{ub}
  3402. If you want to develop your own YAFA-player or just want
  3403. to support the YAFA-format from within your application you may
  3404. have a look at the @{" YAFA-Format-Description " link YAFA-doc.guide/MAIN}.
  3405. @{b}Wildfire-PlugIns@{ub}
  3406. If you on the other side are interested in developing addional
  3407. PlugIns (savers, operators or general PlugIns) for Wildfire please
  3408. contact the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  3409. (If there are at leat 10 requests he will start to create
  3410. a developer-kit including working examples and full
  3411. documentation.)
  3412. @endnode
  3413. @remark /*************************************************************/
  3414. @remark /*
  3415. @remark                            ARexx
  3416. @remark */
  3417. @remark /*************************************************************/
  3418. @node ARexx
  3419. @{b}The ARexx-port@{ub}
  3420. The ARexx-port is another powerful feature of Wildfire which
  3421. allows you
  3422.   -to use all features from within other programs
  3423.   -to enhance the GUI with your own windows without
  3424.   -to write own ARexx-applications which operate like the program itself
  3425. Example: You have designed a nice special effect like a transition
  3426.          between three animations or whatever. Now you want to integrate
  3427.          this nice feature into Wildfire as a "natural feature".
  3428.          This is easy ! All you have to do is to design a so-called
  3429.          "Custom-window" with buttons, string-gadgets, switches, ...
  3430.          and to write the procedure itself.
  3431. @{b}Topics:@{ub}
  3432.  @{" Usage          " LINK ARexxUsage}
  3433.  @{" Error-Messages " LINK ARexxErrors}
  3434.  @{" Custom-windows " LINK ARexxCWindows}
  3435.  @{" Commands       " LINK ARexxCommands}
  3436. @endnode
  3437. @node ARexxUsage
  3438. The name of the ARexx-port is equal to the name of the publicscreen
  3439. opened by Wildfire.
  3440. For the first running copy of the programm the port is named "Wildfire",
  3441. for the second "Wildfire.1" and so on.
  3442. I don't think that's very usefull to run more copies at one time -
  3443. but it's possible.
  3444. The command-hierarchy is equal to the window-hierarchy.
  3445. This makes it very easy for you to find out the right name
  3446. for a particular command.
  3447. Every command consists of the hierarchy-identifier and
  3448. the function-name, e.g. the "Play"-button of the Player-window
  3449. is named "P_PLAY".
  3450. Most of the arguments are strings or integer-values. It's recommended
  3451. to enclose strings into "'"-characters otherwise they are converted
  3452. to uppercase by the ARexx-system.
  3453. There are three ways to invoke ARexx-commands:
  3454.  1. scripts
  3455.   1a) called as macros from Wildfire after pressing one of the function-keys
  3456.   1b) started from a shell
  3457.  2. direct commands
  3458.  3. external programs
  3459. Direct commands are nice to try out a special command, e.g., if you
  3460. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  3461. window:
  3462.  rx "address 'Wildfire'
  3463. pl_appenddir 'data:grafix/frames'"
  3464. Another way to test single commands is to use the "Command"-PlugIn.
  3465. An input string
  3466.  "pl_appenddir 'data:grafix/frames'"
  3467. would cause the same result as the example shown above.
  3468. The advantage of the use of the Command-PlugIn is the fact that it's
  3469. faster because it doesn't use ARexx and displays the results
  3470. of the in the same window. (ARexx-errors sometimes are cryptic.)
  3471. @endnode
  3472. @node ARexxCWindows
  3473. Custom-windows are another powerful feature of Wildfire.
  3474. You can create as much own windows as you want, they can
  3475. be loaded, saved, opened, closed, deleted, ... at any time.
  3476. So it's possible to create Toolmanager-like docks on the
  3477. Wildfire-screen which can be loaded at startup.
  3478. But the main purpose is to give you the possibility to enhance
  3479. the program easily and to fit it to your needs.
  3480. Window-elements
  3481. -------------------------------------------------------------------
  3482. Custom windows can contain
  3483.   -buttons
  3484.   -string-gadgets
  3485.   -switches
  3486.   -lines
  3487.   -boxes and
  3488.   -texts.
  3489. All these elements remain to the window as long as you
  3490. don't kill them.
  3491. But you have the possibility to apply graphical elements
  3492. which are not stored as structures to the window.
  3493. So you could create an own progress-bar or a function-plotter..
  3494. Attention:
  3495. If you want to have spaces in you window- or gadget-names
  3496. you have to use a special character (code 160).
  3497. (This restriction is due the command-parsing.)
  3498. Example:
  3499. space='a0'x
  3500. wnd="Transition.rexx" || space || "V0.3"
  3501. Window-coordinates
  3502. -------------------------------------------------------------------
  3503. Because Wildfire has a fontsensitve GUI you can't use absolute
  3504. coordinates to specify window-elements.
  3505. So you have to design your windows using a topaz.8-font
  3506. to ensure that they look perfect for example with a times.24-font.
  3507. If you want to design a very difficult window with 500
  3508. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  3509. to use GadToolsBox
  3510. . Using this nice program you can drag and
  3511. size your gadgets in an easy way - just take down the coordinates
  3512. after finishing it.
  3513. A simple example
  3514. -------------------------------------------------------------------
  3515. The following example called "ConvertPics.rexx" opens a window
  3516. which lets you specify a range of your current picture-list
  3517. and has a "Convert"-button. This makes is possible to
  3518. convert only a small part of the picture-list which is
  3519. very usefull if you want to test a very complex process.
  3520. 1. Program-structure
  3521.     (i) create the window, initialize the parameters
  3522.     (ii) perform an endless loop receiving messages:
  3523.           1. check for pressed gadgets
  3524.               -> start filerequester, read gadget-contents
  3525.           2. check for the closegadget
  3526.               -> exit
  3527.           3. check for the start-button
  3528.               -> check the parameters
  3529.               -> do it
  3530. 2. Program
  3531.     /* Are we right ? */
  3532.     if ~show('P','Wildfire') then do
  3533.      say " Error: The Wildfire-program must be started before executing this script."
  3534.      exit
  3535.     end
  3536.     /* Initialize the global variables */
  3537.     address "Wildfire"
  3538.     options results
  3539.     wnd="Convert"
  3540.     from=1
  3541.     to=1
  3542.     /* Create the window */
  3543.     cw_kill wnd
  3544.     cw_add wnd 309 70
  3545.     /* Create the Gadget */
  3546.     cw_addgadget wnd string 202 11 84 "From"
  3547.     cw_addgadget wnd string 202 27 84 "To"
  3548.     cw_addgadget wnd button 25 46 261 "Convert"
  3549.     /* It's important to open the window before setting the gadgets */
  3550.     cw_open wnd
  3551.     cw_setgadget wnd "From" from
  3552.     cw_setgadget wnd "To" to
  3553.     /* main loop */
  3554.     do forever
  3555.      /* check if the window is still open */
  3556.      cw_isopen wnd
  3557.      qt=result
  3558.      /* no: leave the script */
  3559.      if qt=0 then call cleanup
  3560.      /* wait for gadgets */
  3561.      cw_wait wnd
  3562.      gadget=result
  3563.      /* which gadget was pressed */
  3564.      if gadget="From" then do
  3565.       /* get the "from"-value from the gadget */
  3566.       cw_getgadget wnd "From"
  3567.       from=result
  3568.      end
  3569.      else if gadget="To" then do
  3570.       /* get the "to"-value from the gadget */
  3571.       cw_getgadget wnd "To"
  3572.       to=result
  3573.      end
  3574.      else if gadget="Convert" then do
  3575.       /* now let's do it */
  3576.       c_convertpics from to
  3577.      end
  3578.     end
  3579.     cleanup:
  3580.     cw_kill wnd
  3581.     exit
  3582.  GadToolsBox is Copyright 
  3583.  1991-93 Jaba Development
  3584. @endnode
  3585. @node ARexxErrors
  3586. There are 4 error-messages which will be shown together
  3587. with the command in the default CON:-window:
  3588.  1: wrong number of arguments
  3589.  2: wrong arguments
  3590.  3: unknown command
  3591.  4: command failed
  3592. Most of the commands are valid everywhere, but there are exeptions,
  3593. e.g. if you haven't defined any variable you can't open
  3594. the envelope-window. This would cause error 4.
  3595. Normally you can access all program functions without opening
  3596. any of the windows, but there are the following exceptions:
  3597.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  3598.   require that the corresponding Window was opened
  3599.   (This is due the internal data-structure and no error or
  3600.    similar.)
  3601. If the program executes an ARexx-command all requesters
  3602. except the one invoked by the "M_MESSAGE"-command are
  3603. turned off, but the requester-messages are shown in the
  3604. Log-Window.
  3605. @endnode
  3606. @node ARexxCommands
  3607. The command-list below shows all available commands,
  3608. values enclosed into brackes are alternative keywords.
  3609.  Main:
  3610.   M_EXIT
  3611.   M_WAIT secs
  3612.   M_MESSAGE text
  3613.   M_REQUEST text (res=0: o.k.)
  3614.   M_OPENCONVERTER
  3615.   M_CLOSECONVERTER
  3616.   M_OPENPROCESSOR
  3617.   M_CLOSEPROCESSOR
  3618.   M_OPENEDITOR
  3619.   M_CLOSEEDITOR
  3620.   M_OPENPLAYER
  3621.   M_CLOSEPLAYER
  3622.   M_OPENPREFS
  3623.   M_CLOSEPREFS
  3624.   M_OPENINFO
  3625.   M_CLOSEINFO
  3626.   M_MOVE x y
  3627.   M_TOFRONT
  3628.   M_TOBACK
  3629.   M_OPENTMAKER
  3630.   M_CLOSETMAKER
  3631.   M_OPENIMOPTIONS
  3632.   M_CLOSEIMOPTIONS
  3633.   M_ADDICON file
  3634.   M_CLEANUP
  3635.   M_LOAD
  3636.   M_SAVE
  3637. Tools:
  3638.   T_DELPICTURELIST
  3639.   T_GETNUMBER title [preset]
  3640.   T_GETSTRING title [preset]
  3641.   T_GETFILE title [preset]
  3642.   T_GETDRAWER titlee [preset]
  3643.   T_ANIMINFO name (0=o.k.)
  3644.   T_PICINFO name (0=o.k.)
  3645.   T_GETWIDTH
  3646.   T_GETHEIGHT
  3647.   T_GETDEPTH
  3648.   T_GETCOLORS
  3649.   T_GETFRAMES
  3650.   T_GETANIMDRAWER
  3651.   T_GETPICDRAWER
  3652.   T_GETMODDRAWER
  3653.   T_GETROOTDRAWER
  3654.   T_PEXTENSION extension
  3655.   T_REQSTATUS (ON|OFF)
  3656.  Prefs:
  3657.   PR_PLAYERSCREEN name
  3658.   PR_SCREENMODE id width height depth
  3659.   PR_SCREENDEPTH depth
  3660.   PR_LOADPREFS
  3661.   PR_SAVEPREFS
  3662.   PR_OPENPATHS
  3663.   PR_CLOSEPATHS
  3664.   PR_OPENMACROS
  3665.   PR_CLOSEMACROS
  3666.   PR_DCLICKTIME val
  3667.   PR_STATISTICS (ON|OFF)
  3668.   PR_EXPERTMODE (ON|OFF)
  3669.   PR_BRUTALBLIT (ON|OFF)
  3670.   PR_MOVE x y
  3671.  Paths:
  3672.   PT_ANIMATIONDRAWER name
  3673.   PT_PICTUREDRAWER name
  3674.   PT_SOUNDDRAWER name
  3675.   PT_ROOTDRAWER name
  3676.   PT_YAFAPLAYER name
  3677.   PT_ANIMPLAYER name
  3678.   PT_MPEGPLAYER name
  3679.   PT_VIEWER name
  3680.   PT_MOVE x y
  3681.  Info:
  3682.   I_FREEMEM
  3683.   I_MOVE x y
  3684.  Text:
  3685.   TXT_TEXT file
  3686.   TXT_TEXTNC file
  3687.   TXT_MOVE x y
  3688.   TXT_CLOSE
  3689.   TXT_WAIT
  3690.   TXT_CENTRE
  3691.  Player:
  3692.   P_FILE [name]
  3693.   P_BUFFERS num
  3694.   P_ABUFFER num
  3695.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3696.   P_CACHING (ON|OFF)
  3697.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  3698.   P_WAIT (ON|OFF)
  3699.   P_PLAY [from to]
  3700.   P_MOVE x y
  3701.   P_OPENANIMINFO
  3702.   P_CLOSEANIMINFO
  3703.   P_OPENTIMECODES
  3704.   P_CLOSETIMECODES
  3705.  AnimInfo:
  3706.   AI_MOVE x y
  3707.   AI_EXPORT name
  3708.   AI_IMPORT num
  3709.  Timecodes:
  3710.   TC_RANGE from to step
  3711.   TC_IMPORT name
  3712.   TC_EXPORT name
  3713.   TC_TIMERANGE num
  3714.   TC_MOVE x y
  3715.  Editor:
  3716.   E_AADD name
  3717.   E_AKILL
  3718.   E_AREPLACE name
  3719.   E_AINFO
  3720.   E_ASELECT name
  3721.   E_ASELECTNEXT
  3722.   E_ASELECTPREV
  3723.   E_AFROM from
  3724.   E_ATO to
  3725.   E_AUP
  3726.   E_ADOWN
  3727.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  3728.   E_MKILL
  3729.   E_MREPLACE name
  3730.   E_MEDIT
  3731.   E_MSELECT name
  3732.   E_MSELECTNEXT
  3733.   E_MSELECTPREV
  3734.   E_MUP
  3735.   E_MDOWN
  3736.   E_OPENPROFILE
  3737.   E_CLOSEPROFILE
  3738.   E_OPENFILMCONTROL
  3739.   E_CLOSEFILMCONTROL
  3740.   E_PLAYALL
  3741.   E_PLAYSEL
  3742.   E_SAVEALL
  3743.   E_FILENAME [name]
  3744.   E_CLEAR
  3745.   E_EXPORT
  3746.   E_LOAD
  3747.   E_SAVE
  3748.   E_INSERT file
  3749.   E_APPEND file
  3750.   E_MOVE x y
  3751.  EditorAnimInfo:
  3752.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3753.   EAI_CACHING (ON|OFF)
  3754.   EAI_BUFFERS num
  3755.   EAI_ABUFFER num
  3756.   EAI_SPEED num
  3757.   EAI_MOVE x y
  3758.   EAI_CLOSE
  3759.  ModuleOptions:
  3760.   MO_TEST
  3761.   MO_STOP
  3762.   MO_CLOSE
  3763.   MO_MOVE x y
  3764.  SampleOptions:
  3765.   SO_TEST
  3766.   SO_STOP
  3767.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  3768.   SO_REPEAT num
  3769.   SO_VOLUME num
  3770.   SO_CLOSE
  3771.   SO_MOVE x y
  3772.  CommandOptions:
  3773.   CO_TEST
  3774.   CO_CLOSE
  3775.   CO_MOVE x y
  3776.  Processor:
  3777.   PC_ADD type [options]
  3778.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  3779.     CROP in out left top width height
  3780.     ALPHA in alpha out left top
  3781.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  3782.     BALANCING in out red green blue bright contrast gamma
  3783.     DISPLACE in out radius probability seed
  3784.     ROTATE in out centreX centreY radius amount zoom
  3785.     NEGATIVE in out
  3786.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  3787.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  3788.     SAVETEMP buffer
  3789.     LOADTEMP buffer
  3790.     KILLTEMP buffer
  3791.     LOADIMAGE out sequence repeat shift
  3792.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  3793.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  3794.     CONVOLVE in out mix shift (file|matrix)
  3795.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  3796.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  3797.     TEXT out red green blue bgRed bgGreen bgBlue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  3798.     ANTIQUE in out
  3799.     HALVE in out
  3800.     FLIP in out (X|Y|XY)
  3801.     MOTIONBLUR in out deltaX deltaY
  3802.     ROTATEBLUR in out centreX centreY amount radius
  3803.     BLACKHOLE in out centreX centreY amount radius
  3804.     MAGNET in out centreX centreY amount damping
  3805.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  3806.     AREXX in out port tempfile script
  3807.     COMMENT [string]
  3808.     PLASMA out width height dimension seed
  3809.     EMBOSS in out direction
  3810.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  3811.     OILTRANSFER in out rect
  3812.     MEDIANFILTER in out rect
  3813.     ADD in1 in2 out (ADD|SUBTRACT)
  3814.     RASTER in out
  3815.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  3816.     NOISE in out intensity probability seed
  3817.     POSTERISE in out bits
  3818.     ROLL in out deltaX deltaY (ON|OFF)
  3819.     CARTESIAN2POLAR in out r0 phi0
  3820.     THRESHOLD in out level
  3821.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  3822.     LWOB out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient file width height
  3823.     DLA out width height iterations seed red green blue
  3824.     NEON in out (TRIVIAL|HKC) red green blue radius intensity tolerance
  3825.     PERSPECTIVE in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient
  3826.     CUBE in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) lightX lightY lightZ intensity hardness ambient size
  3827.     WRAP in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient (RADIUS|AMOUNT) radius amount (X|Y|XY)
  3828.     WATER in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY) originX originY times rings amplitude wavelength (ON|OFF) damping doXY=(ON|OFF)
  3829.     WAVE3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY|RADIAL) originX originY originZ amplitude wavelength phase (ON|OFF) damping
  3830.     MAGNET3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient strength srcX srcY srcZ destX destY destZ
  3831.     SPHERE in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) lightX lightY lightZ intensity hardness ambient radius
  3832.     TRANSFORM3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient strength scaleX scaleY scaleZ transX transY transZ (XY|YZ|XZ|NONE) alpha beta originX originY originZ
  3833.     BUMP3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient map amount (ON|OFF) width height (IGNORE|TAKEWIDTH|TAKEHEIGHT) originX originY (ON|OFF)
  3834.     JOIN3D in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (NORMAL|PHONG|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient
  3835.     KILLTEMP3D buffer
  3836.   PC_KILL
  3837.   PC_CLEAR
  3838.   PC_SELECT type [which]
  3839.   PC_UP
  3840.   PC_DOWN
  3841.   PC_FROM num
  3842.   PC_TO num
  3843.   PC_STEP num
  3844.   PC_OPENEDIT
  3845.   PC_MOVEEDIT x y
  3846.   PC_CLOSEEDIT
  3847.   PC_MODE (COLOR|HAM6|HAM8)
  3848.   PC_DITHER (NONE|FS)
  3849.   PC_SMOOTHING (ON|OFF)
  3850.   PC_DEPTH num
  3851.   PC_CSKIP num
  3852.   PC_FILENAME [name]
  3853.   PC_LOAD
  3854.   PC_SAVE
  3855.   PC_OPENPCSINGLEPICTURE
  3856.   PC_CLOSEPCSINGLEPICTURE
  3857.   PC_OPENVARIABLES
  3858.   PC_CLOSEVARIABLES
  3859.   PC_OPENPALETTE
  3860.   PC_CLOSEPALETTE
  3861.   PC_MOVE
  3862.  Variables:
  3863.   V_ADD name
  3864.   V_SELECT name
  3865.   V_KILL
  3866.   V_RENAME
  3867.   V_SELECT name
  3868.   V_ENVELOPE
  3869.   V_FILENAME
  3870.   V_SAVE
  3871.   V_LOAD
  3872.   V_CLEAR
  3873.   V_MOVE
  3874.  Envelope:
  3875.   EV_XRANGE xmin xmax
  3876.   EV_YRANGE ymin ymax
  3877.   EV_VIEWALL
  3878.   EV_SCROLLUP
  3879.   EV_SCROLLDOWN
  3880.   EV_SCROLLLEFT
  3881.   EV_SCROLLRIGHT
  3882.   EV_SELECT num
  3883.   EV_SELECTNEXT
  3884.   EV_SELECTPREV
  3885.   EV_KILL
  3886.   EV_ADD xval yval
  3887.   EV_MOVE xval yval
  3888.   EV_DRAG xval yval steps
  3889.   EV_LOAD name
  3890.   EV_SAVE name
  3891.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  3892.   EV_USE
  3893.   EV_CANCEL
  3894.   EV_OPENADVANCED
  3895.   EV_MOVE
  3896.  SinglePicture:
  3897.   PCS_INPUT name
  3898.   PCS_OUTPUT name
  3899.   PCS_TEST [time]
  3900.   PCS_SAVE
  3901.   PCS_SAVERENDERED
  3902.   PCS_APPLYDIMENSIONS
  3903.   PCS_FRAME num
  3904.   PCS_MOVE
  3905.   PCS_SCREENMODE id
  3906.   PCS_PREVIEWWIDTH val
  3907.   PCS_PREVIEWDEPTH val
  3908.   PCS_PREVIEW (ENABLED|DISABLED)
  3909.  EnvelopeAdvanced:
  3910.   EVA_RANGE from to step
  3911.   EVA_SCALE
  3912.   EVA_SHIFT
  3913.   EVA_LOADCURVE name
  3914.   EVA_SAVECURVE name
  3915.   EVA_LOADTIMECODES
  3916.   EVA_SAVETIMECODES
  3917.   EVA_XVAL val
  3918.   EVA_YVAL val
  3919.   EVA_CLOSE
  3920.   EVA_MOVE
  3921.  Converter:
  3922.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  3923.   C_INPUTEXPORT
  3924.   C_INPUTFILENAME name
  3925.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  3926.   C_OUTPUTEXPORT
  3927.   C_OUTPUTFILENAME name
  3928.   C_ANNOTATION (ON|OFF)
  3929.   C_ANNOFILENAME [name]
  3930.   C_ANNOSTRING [string]
  3931.   C_LOADSESSION
  3932.   C_SAVESESSION
  3933.   C_CONVERT
  3934.   C_CONVERTPICS first last
  3935.   C_OPENINPUTOPTIONS
  3936.   C_OPENOUTPUTOPTIONS
  3937.   C_CLOSEINPUTOPTIONS
  3938.   C_CLOSEOUTPUTOPTIONS
  3939.   C_PREVIEW (NONE|WINDOW|SCREEN)
  3940.   C_PROCESSOR (ENABLED|DISABLED)
  3941.   C_MOVE
  3942.  YAFAOptions:
  3943.   YO_IMAGEDATA (RAW|CHUNKY)
  3944.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  3945.   YO_COMPRESSION (NONE|XPK)
  3946.   YO_COMPRESSOR name
  3947.   YO_MODE mode
  3948.   YO_COLORMAP (UNLOCKED|LOCKED)
  3949.   YO_SPEED num
  3950.   YO_FORCETIMECODES (ON|OFF)
  3951.   YO_OPENANALYSIS
  3952.   YO_MOVE
  3953.   YO_APPLY name
  3954.  Analysis:
  3955.   A_FRAMES num
  3956.   A_TEST
  3957.   A_USE
  3958.   A_CANCEL
  3959.   A_MOVE
  3960.  ANIMOptions:
  3961.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  3962.   AO_COLORMAP (UNLOCKED|LOCKED)
  3963.   AO_SCREENMODE mode
  3964.   AO_MOVE
  3965.  PictureOptions:
  3966.   PO_BASENAME name
  3967.   PO_SCREENMODE mode
  3968.   PO_SHIFT num
  3969.   PO_MOVE
  3970.   PO_TYPE (RENDERED|TRUECOLOR)
  3971.  CreateFrames:
  3972.   CF_WIDTH num
  3973.   CF_HEIGHT num
  3974.   CF_FRAMES num
  3975.  PictureList:
  3976.   PL_INSERT names
  3977.   PL_APPEND names
  3978.   PL_INSERTDIR name
  3979.   PL_APPENDDIR name
  3980.   PL_DUPLICATE times
  3981.   PL_SORT
  3982.   PL_CHECK
  3983.   PL_RANGE from to step
  3984.   PL_REMOVERANGE
  3985.   PL_TIMERANGE num
  3986.   PL_SHOW
  3987.   PL_SELECT name [which]
  3988.   PL_SELECTNEXT
  3989.   PL_SELECTPREV
  3990.   PL_OPENPICTUREINFO
  3991.   PL_CLOSEPICTUREINFO
  3992.   PL_MOVE
  3993.  Custom-Windows:
  3994.   CW_CLOSE name
  3995.   CW_OPEN name
  3996.   CW_MOVE name x y
  3997.   CW_ADD name width height
  3998.   CW_KILL name
  3999.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  4000.   CW_GETGADGET window name
  4001.   CW_SETGADGET window name value
  4002.   CW_WAITGADGET window name
  4003.   CW_ADDTEXT window left top pen text
  4004.   CW_ADDLINE window x1 y1 x2 y2 pen
  4005.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4006.   CW_DRAWTEXT window left top pen text
  4007.   CW_DRAWLINE window x1 y1 x2 y2 pen
  4008.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  4009.   CW_SAVE name
  4010.   CW_LOAD name
  4011.   CW_WAIT name
  4012.   CW_ISOPEN name
  4013.  Palette:
  4014.   PP_FILENAME
  4015.   PP_LOAD
  4016.   PP_SAVE
  4017.   PP_COLOR color red green blue
  4018.   PP_STATE (ENABLED|DISABLED)
  4019.   PP_MOVE x y
  4020.  FilmStrip:
  4021.   FC_PLAY file loops rows cols [left top]
  4022.   FC_FILE file
  4023.   FC_FILMFILE file
  4024.   FC_RANGE from to step
  4025.   FC_WIDTH width
  4026.   FC_SIZE rows cols
  4027.   FC_COLOR (ORIGINAL|GRAY)
  4028.   FC_UPDATE
  4029.   FC_CLEANUP
  4030.   FC_LOAD
  4031.   FC_SAVE
  4032.   FC_CONVERT
  4033.   FC_APPEND
  4034.   FC_SCROLL val (negative->scroll left)
  4035.  CRange:
  4036.   CR_FROM num
  4037.   CR_TO num
  4038.   CR_STEP num
  4039.   CR_STATE (ENABLED|DISABLED)
  4040.  IMOptions:
  4041.   IM_RESET
  4042.   IM_FILE file
  4043.   IM_TRASHCAN (KILLICON|DELETE)
  4044.  Icon-Saver:
  4045.   IC_Image1 file
  4046.   IC_Image2 [file]
  4047.   IC_ICON file
  4048.   IC_WIDTH width
  4049.   IC_DEPTH depth
  4050.   IC_COLOR (COLOR|GRAY)
  4051.   IC_CONVERT
  4052.  TMaker:
  4053.   TM_INPUT1 file
  4054.   TM_INPUT2 file
  4055.   TM_OUTPUT file
  4056.   TM_TEMP drawer
  4057.   TM_FRAMES frames
  4058.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  4059.   TM_SHOWEXAMPLE (ON|OFF)
  4060.   TM_TYPE type subtype
  4061.   TM_CREATETEMPFILES
  4062.   TM_KILLTEMPFILES
  4063.   TM_PLAY
  4064.   TM_CONVERT
  4065.   TM_CREATEEXAMPLES
  4066. @endnode
  4067. @node PowerPlugs!
  4068. @{b}PowerPlugs! - it's not a dream @{ub}
  4069. @{u}Introduction@{uu}                              @{" Example1 " system "visage wf:PowerPlugs!_01.jpg"}
  4070. PowerPlugs! are a extended version of Wildfire's 3D-operators
  4071. allowing the superposition of effects in the threedimensional space.
  4072. For example after wrapping an image onto a cube a radial-wave
  4073. could be applied to the cube.
  4074. Since version 3.14 you can combine phong-shaded Lightwave3D-objects
  4075. with your images. All 3D-effects can be applied to these objects, too.
  4076. This makes it for example possible to create a threedimensional
  4077. twirled cow in a few seconds.
  4078. This are of course incredible mega-features many 3D-programs
  4079. are missing.
  4080. But many users may have no need for it because they have slow
  4081. machines with only some memory or don't need any 3d-effect.
  4082. So you have to register for the PowerPlugs!-package separately.
  4083. The price is 50,00 DM or 40,00 US-$. I think this is quite fair
  4084. for such unique features and makes it possible to keep the low price
  4085. of the base-package.
  4086. After registering you will receive an extended version of the
  4087. "wildfire.library" which enables the handling of so-called
  4088. "3D-temp-buffers".
  4089. If you have installed the normal version of the library (registered
  4090. or not) all 3D-operators are restricted to operate on image-
  4091. buffers (STREAM and TEMP1, ..., TEMP8).
  4092. After installing the extended PowerPlugs!-library four
  4093. additional buffers can be used: TEMP3D1, ... TEMP3D4.
  4094. @{u}Usage@{uu}                                     @{" Example2 " system "visage wf:PowerPlugs!_02.jpg"} @{ub}
  4095. The usage is quiet simple. If you specify a 3d-temp-buffer
  4096. instead of an image the transformation is applied to
  4097. a virtual object and not to an image. This means that
  4098. all "final" transformation operations like rotating, scaling
  4099. or adding light are not performed. 3d-temp-buffers
  4100. can be specified both as input and output.
  4101. Example: You want to linearcombine two simple waves.
  4102.           Add a Wave3D-effect and set the originX-value to 60.
  4103.           Set the output-buffer to TEMP3D1.
  4104.           Add a second Wave3D-effect and sets it's originX-value to 260.
  4105.           Set the input-buffer to TEMP3D1.
  4106.          So what happens ? The image is read and deformed by the first
  4107.          Wave3D-operator but not rotated, scaled or rendered.
  4108.          The result is read in by the second Wave3D-operator, deformed,
  4109.          rotated and rendered.
  4110. @{u}Operators@{uu}                                 @{" Example3 " system "visage wf:PowerPlugs!_03.jpg"} @{ub}
  4111. The following operators support the PowerPlugs!-concept and
  4112. can therefore combined in any manner:
  4113.    @{" Bump3D          " link opBump3D         } Real Bump-mapping                          @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  4114.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  4115.    @{" Join3D          " link opJoin3D         } Join two 3d-temp-buffers                   @{" Example " system "visage wf:doc/pictures/Join3D.pic"}
  4116.    @{" LWOB            " link opLWOB           } Import Lightwave-objects                   @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  4117.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  4118.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  4119.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  4120.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  4121.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  4122.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  4123.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  4124.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  4125.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  4126. Looking at the example-pictures
  4127. @{" Example1 again " system "visage wf:PowerPlugs!_01.jpg"}
  4128. @{" Example2 again " system "visage wf:PowerPlugs!_02.jpg"}
  4129. @{" Example3 again " system "visage wf:PowerPlugs!_03.jpg"}
  4130. keep in mind that all parameters may be animated easily
  4131. and any number of these operators can be combinated in any manner.
  4132. All scripts which where used to create these example-pictures
  4133. can be found in the "wf:doc/PlugIns"-drawer.
  4134. @{" I'm impressed ! " system "visage wf:Motivation2.jpg"}
  4135. @endnode
  4136. @remark /*************************************************************/
  4137. @remark /*
  4138. @remark                            Tutorials
  4139. @remark */
  4140. @remark /*************************************************************/
  4141. @node Tutorials
  4142. ###############################################################################
  4143. #                                                                             #
  4144. #                       Sequencer-Tutorial  1                                 #
  4145. #                                                                             #
  4146. ###############################################################################
  4147.                   @{" 1. Introduction                        " LINK Tut1-Intro}
  4148.                   @{" 2. Hardware-Requirements               " LINK Tut1-Req}
  4149.                   @{" 3. Tutorial 1                          " LINK Tut1}
  4150. @ENDNODE
  4151. @NODE Tut1-Intro "1. Introduction"
  4152. Welcome to the Sequencer Tutorial!
  4153. This workshop will show you the fantastic possibilities of the Image
  4154. Processor! You won`t trust your eyes when you see what you can do with this
  4155. great program.
  4156. As we are using the great BUILD-FROM-BLOCKS-concept you can change the
  4157. project in an easy way to fit your personal needs.
  4158. First inform yourself about the @{" Hardware Requirements " LINK Tut1-Req}!
  4159. @ENDNODE
  4160. @NODE Tut1-Req "2. Hardware Requirements"
  4161. While installation you can choose between two different versions of this
  4162. tutorial, depending on the hardware you use!
  4163. "HALVE_SIZE" is aimed on users with something like the following
  4164. configuration:
  4165.   CPU: MC68020/MC68030
  4166.   RAM: 4 MB Fast, 2 MB Chip
  4167.   HD: 120 MB
  4168.   about 10 MB free Harddisk-space!
  4169. The "HALVE_SIZE" tutorial even runs on STANDARD A1200 with only 2MB Chip
  4170. Ram and no Fast Ram!
  4171. The "NORMAL_SIZE" version of this tutorial can be used by the ones with
  4172. more extended hardware like:
  4173.   CPU: MC68040/MC68060
  4174.   RAM: 8 MB Fast, 2 MB Chip
  4175.   HD: 1 GB 
  4176.   about 25 MB free Harddisk-space!
  4177. Of course you don`t have to follow this rules, you may use the
  4178. "NORMAL_SIZE" on an slow A1200 with 4MB Fast, too.
  4179.  Now lets start with the @{" Tutorial " LINK Tut1}.
  4180. @ENDNODE
  4181. @NODE Tut1 "3. Tutorial"
  4182.                   @{" 0. Story                    " LINK Tut1-Story}
  4183.                   @{"  1. Preface                 " LINK Tut1-Teil0}
  4184.                   @{"  2. Part 1                  " LINK Tut1-Teil1}
  4185.                   @{"  3. Part 2                  " LINK Tut1-Teil2}
  4186.                   @{"  4. Part 3                  " LINK Tut1-Teil3}
  4187.                   @{"  5. Part 4                  " LINK Tut1-Teil4}
  4188.                   @{"  6. Part 5                  " LINK Tut1-Teil5}
  4189.                   @{"  7. Part 6                  " LINK Tut1-Teil6}
  4190.                   @{"  8. Part 7                  " LINK Tut1-Teil7}
  4191.                   @{"  9. Part 8                  " LINK Tut1-Teil8}
  4192.                   @{" 10. Part 9                  " LINK Tut1-Teil9}
  4193.                   @{" 11. Script                  " LINK Tut1-Script}
  4194. @ENDNODE
  4195. @NODE Tut1-Story "Story"
  4196. Starting with 2 x 60 24Bit-Pictures "CHA" and "CHB" we want to create some
  4197. animations using fading and special effects.
  4198.  Story:
  4199.   -"CHA" will be wiped into the picture
  4200.   -"CHA" will be played quite normal
  4201.   -"CHA" will be roteted (360
  4202.   -"CHA" will be twirled
  4203.   -"CHB" flies into the picture in a smalle size
  4204.   -"CHB" will be scaled to full size
  4205.   -"CHA" will be fadet out and a little bit displaced
  4206.   -"CHB" will be played quite normal
  4207.   -"CHB" will be fadet out
  4208. All session- and process files are stored in the same called directorys.
  4209. To generate the needed animations you have just to:
  4210. (f.i. animation "chab_wipe.yafa)
  4211.  - use the graphical user interface:
  4212.    *converter: load the session file "chab_wipe.session"
  4213.    *converter: press the "Convert" gadget (or just press <Return>)
  4214.     (the needed process file "chab_wipe.process" will be loaded by the
  4215.      sesssion file without user interaction.)
  4216. But we want to learn how the processor works. That`s why you should make
  4217. the animations yourself, following this tutorial! If you managed that you
  4218. will know how to work with WIldfire and it will be eas for you to produce
  4219. effects yourself!
  4220.  So first read the @{" Preface " LINK Tut1-Teil0}!
  4221. @ENDNODE
  4222. @NODE Tut1-Teil0 "Preface"
  4223. If you work with the small version (HALVE_SIZE) then you can follow the
  4224. steps written in the tutorial exactly. But if you want to use the full size
  4225. (NORMAL_SIZE) version, you have to change the path names from
  4226. wftut:halve_size/ ind wftut:normal_size/. Further on you have to use the
  4227. sizes and coordinates written in [].
  4228. Your actions are written in {} brackets.
  4229. Both animations we are dealing with consits of 60 frames each. So the
  4230. timedependent coordinates end with 60 for the last frame.
  4231. First of all start Wildfire.
  4232. {wf <enter>}
  4233. Afterwards open the preferences window.
  4234. {PREFERENCES}
  4235. Change to the paths-selector.
  4236. {PATHS}
  4237. Use the following paths:
  4238. {ANIMATIONS  wftut:halve_size/results/}
  4239. {PICTURES    wftut:halve_size/frames/}
  4240. {YAFA-PLAYER wf:YP}
  4241. Save the preferences.
  4242. {CLOSE Filenames/Drawers}
  4243. {SAVE Prefs}
  4244. {CLOSE Prefs}
  4245. Now all needed selections are made, so lets come to @{" Part 1 " LINK Tut1-Teil1}.
  4246. @ENDNODE
  4247. @NODE Tut1-Teil1 "Part 1"
  4248. cha_wipe.yafa
  4249. Open the converter window.
  4250. {CONVERTER}
  4251. If you want to do it the easy way just load the session file!
  4252. {LOAD Session cha_wipe.session}
  4253. All settings are made automaticly, you jut need to start converting.
  4254. {CONVERT}
  4255. You can do this for all 9 animations but ...
  4256. We want to get to know how the program works, so ...
  4257. we will NOT use this files but do everything ourselves!
  4258. Select Single Pictures as Input Type.
  4259. {INPUT TYPE Pictures}
  4260. Select YAFA Animation as Output Type.
  4261. {OUTPUT TYPE YAFA Animation}
  4262. Select the following YAFA Options:
  4263. {RELATED OPTIONS}
  4264. {IMAGE-DATA RAW}
  4265. {COLORMAP UNLOCKED}
  4266. {FORCE TIMECODES OFF}
  4267. {SPEED 2} [3]
  4268. {POST-COMPRESSION XPK}
  4269. {Compressor FAST}
  4270. {DELTA-COMPRESSION ByteBR}
  4271. {Uncompressed Frames 1}
  4272. {UC-Mode Delta}
  4273. Close the YAFA-Options.
  4274. {CLOSE YAFA-Options}
  4275. Select
  4276. {PREVIEW Screen}  and
  4277. {PROCESSOR Enabled}
  4278. {INPUT RELATED OPTIONS}
  4279. Add the directory with the 60 pictures for the CHA anim:
  4280. {ADDDIR wftut:halve_size/frames/chA}
  4281. {CLOSE Related Options}
  4282. Choose the name for the animation:
  4283. {OUTPUT Browse}
  4284. {wftut:halve_size/results/cha_wipe.yafa}
  4285. Open the
  4286. {PROCESSOR}
  4287. First of all we want the Animation CHA to fly from the left side into the
  4288. screen. Furthermore we want to fade this animation.
  4289. So we create a black screen as background.
  4290. {ADD CREATEIMAGE}
  4291. Now we edit create-image.
  4292. {DOUBLECLICK CreateImage} (in the list) or {EDIT}
  4293. Now we make the following selections:
  4294. {WIDTH 176}  [352]   ... width of the Animation
  4295. {HEIGHT 144} [288]   ... height of the Animation
  4296. {OUTPUT Temp1}       ... buffer for the black picture
  4297. Now we select for all 4 colors the rgb-values 0. The color-gadgets will be
  4298. displayed in their right colors if you work on an 256 color-screen.
  4299. Otherwise you will NOT see their right colors. Just look at the values,
  4300. they have to be 0,0,0.
  4301. ************************************************************
  4302. Note:
  4303. To get the needed coordinates in a very easy way just do the following
  4304. things:
  4305. f.i. add CreateImage effect. Select the effect. (like described some lines
  4306. {OPEN Single-Picture-Process}
  4307. {INPUT wftut:halve_size/frames/cha/pic.0001}
  4308. {APPLY DIMENSIONS}
  4309. Using Apply Dimensions the sizes of the picture will be used for the
  4310. effect. Thats for instance the size for the CreateImage effect and the
  4311. centre coordinates for the twirl and rotate effect.
  4312. ************************************************************
  4313. {CLOSE CreateImage-Options}
  4314. Now we create some variables.
  4315. {VARIABLES}
  4316. {ADD left}
  4317. {ADD mix}
  4318. {DOUBLECLICK left}
  4319. We are looking at the envelopes-window.
  4320. Let`s add two points:
  4321. {ADD PNT  Klick into the window}
  4322. {ADD PNT  Klick into the window}
  4323. The change the position of the first poin we select it:
  4324. {KLICK on the 1. point}
  4325. {X = 0}                  (just write it into the correspondending gadget)
  4326. {Y = -160.00}
  4327. Select the second point.
  4328. {KLICK on the 2. point}
  4329. {X = 5}
  4330. {Y = 0}
  4331. Select the 3. point.
  4332. {KLICK on the 3. point}
  4333. {X = 60}
  4334. {Y = 0}
  4335. Choose bezier as interpolation method.
  4336. {INTERPOLATION bezier}
  4337. For the following variables you follow these steps exactly. I use a short
  4338. form of writing the down. Have a look at these examples for the variables
  4339. you created a minute ago.
  4340. Variable:      left
  4341. Points:         3
  4342. Nr. 1:          0, -160
  4343. Nr. 2:          5,    0
  4344. Nr. 3:         60,    0
  4345. Interpolation: bezier
  4346. Lets come to the second variable.
  4347. 2. Variable:
  4348. Variable:      mix
  4349. Points:         3
  4350. Nr. 1:          0,    0
  4351. Nr. 2:         20,  100
  4352. Nr. 3:         60,  100
  4353. Interpolation: bezier
  4354. {CLOSE Envelope}
  4355. {CLOSE Variables}
  4356. Now we add a compose effect:
  4357. {ADD COMPOSE}
  4358. {EDIT compose}
  4359. {BACKGROUND Temp1}   ... generated picture in Temp1
  4360. {FOREGROUND Stream}  ... Animation in Stream
  4361. {DESTINATION Stream} ... destination -> Animation
  4362. {ALPHA none}         ... Alpha Channel
  4363. {GENLOCK none}
  4364. {LEFT left}  ... Using the gadget VAR you choose our created variable left
  4365.                  as the value for the LEFT position of the animation.
  4366.                  Within our 60 frames the front animation will move from
  4367.                  the left side (-160) into the screen (0).
  4368. {TOP 0}      ... The animation will stay on the same heigth all the time.
  4369. {MIX mix}    ... Within the 60 frames we change the value of mix from 0
  4370.                  to 100. Mix 100 means you will only see the pictures
  4371.                  in front of the background pictures - and these are the
  4372.                  frames of the animation!
  4373. {CENTREX off}... pics will NOT be centred
  4374. {CENTREY off}... pics will NOT be centred
  4375. {MODE Color}
  4376. {DITHERING Floyd}
  4377. {DEPTH 5}
  4378. Now we made all settings, so press the CONVERT gadget in the converter
  4379. window!
  4380. {CONVERT}
  4381. Depending on the speed of your computer you may drink a cup of coffee or
  4382. just look how the animation is created.
  4383. The 60 24-Bit pictures will be wiped, fadet, ditherd and saved in 5-Bit.
  4384. From the @{" Part 2 " LINK Tut1-Teil2} I will tell you only the important things
  4385. as you should know by know how the whole thing is working!
  4386. @ENDNODE
  4387. @NODE Tut1-Teil2 "Part 2"
  4388. cha.yafa
  4389. Now we create an animation without effects. So first remove all the effects
  4390. form the processor-list.
  4391. {PROCESSOR CLEAR}
  4392. The following settings stay unchanged for the whole tutorial!
  4393. {MODE Color}
  4394. {DITHERING Floyd}
  4395. {DEPTH 5}
  4396. The input single-pictures stay the same as in part 1!
  4397. Do not forget to change the output name into:
  4398. {wftut:halve_size/results/cha.yafa}
  4399. So lets start the converting!
  4400. {CONVERT}
  4401. @{" Part 3 " LINK Tut1-Teil3}
  4402. @ENDNODE
  4403. @NODE Tut1-Teil3 "Part 3"
  4404. cha_rotate.yafa
  4405. Now the CHA Animation will be rotated.
  4406. Output-Name:
  4407. {wftut:halve_size/results/cha_rotate.yafa}
  4408. Variable:      rotate
  4409. Points:         2
  4410. Nr. 1:          0,    0   ... Start 0
  4411. Nr. 2:         60,  360   ... end 360
  4412. Interpolation: linear
  4413. Let`s add a rotate effect in the processor:
  4414. {ADD ROTATE}
  4415. Make the following selections:
  4416. {INPUT Stream}       ... Input pictures
  4417. {OUTPUT Stream}      ... Output animation
  4418. {CENTREx 88}  [176]  ... Centre of the picture. To get the centre use a
  4419.                          calculator or:
  4420.                          {SINGLE Picture}
  4421.                          {BROWSE picture for the 60 CHA-picture}
  4422.                          {APPLY DIMENSIONS}
  4423.                          and so you get the centre-settings in the easy
  4424.                          way!
  4425. {CENTREY 72}  [144]
  4426. {RADIUS 120}  [220]  ... Radius for rotating
  4427. {AMOUNT rotate}      ... amount in degrees
  4428. {ZOOM 1}             ... zoom amount
  4429. After this we can start the converting!
  4430. Now come to @{" Part 4 " LINK Tut1-Teil4}...
  4431. @ENDNODE
  4432. @NODE Tut1-Teil4 "Part 4"
  4433. cha_twirl.yafa
  4434. Lets use the cool twirl effect.
  4435. (do not forget the output name!)
  4436. {wftut:halve_size/results/cha_twirl.yafa}
  4437. Variable:      rotate
  4438. Points:         5
  4439. Nr. 1:          0,    0   ... Start 0
  4440. Nr. 2:         20,  100 
  4441. Nr. 2:         30,  210
  4442. Nr. 2:         40,  100
  4443. Nr. 2:         60,    0   ... End 0
  4444. Interpolation: spline
  4445. We add the twirl effect in the processor:
  4446. {ADD TWIRL}
  4447. We choose the following settings:
  4448. {INPUT Stream}       ... Input Pictures
  4449. {OUTPUT Stream}      ... Output animation
  4450. {FALLOFF out}        ... Direction of more power
  4451. {CENTREX 88}  [176]  ... centre of the pictures
  4452. {CENTREY 72}  [144]
  4453. {RADIUS 150}  [220]  ... twirl-radius
  4454. {AMOUNT rotate}      ... degrees
  4455. {POWER 1}            ... Power stays the same
  4456. {ZOOM 1}             ... zoom-amount
  4457. The twirl effect is very time-consuming. Start the converting and if you
  4458. have a slow amiga just drink a can of coffee :-)
  4459. After this interesting effect we go on with @{" Part 5 " LINK Tut1-Teil5}.
  4460. @ENDNODE
  4461. @NODE Tut1-Teil5 "Teil5"
  4462. chab_wipe.yafa
  4463. Now, for the first time, we will see two animations on the screen. CHA will
  4464. be played in the background and CHB will be moved from the top left corner
  4465. to the middle of the screen and zoomed to halve of their size.
  4466. {wftut:halve_size/results/chab_wipe.yafa}
  4467. Variable:      breite
  4468. Points:         2
  4469. Nr. 1:          0,    0        ... start-width 0
  4470. Nr. 2:         60,   88  [176] ... end-width 88 (176/2)
  4471. Interpolation: linear
  4472. Variable:      hoehe
  4473. Points:         2
  4474. Nr. 1:          0,    0        ... start-height 0
  4475. Nr. 2:         60,   72  [144] ... end-height 72 (144/2)
  4476. Interpolation: linear
  4477. Variable:      left
  4478. Points:         2
  4479. Nr. 1:          0,    0       ... start left
  4480. Nr. 2:         60,   44  [88] ... end in the middle (coordinate of the 
  4481.                                   left side of the animation)
  4482. Interpolation: linear
  4483. Variable:      top
  4484. Points:         2
  4485. Nr. 1:          0,    0       ... start at the top
  4486. Nr. 2:         60,   36  [72] ... end in the middle
  4487. Interpolation: linear
  4488. Now we add the following effects
  4489. {ADD LOADIMAGE}
  4490. {ADD SCALE}
  4491. {ADD COMPOSE}
  4492. We make the following selections:
  4493. Loadimage:
  4494. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4495. {OUTPUT Temp1}
  4496. {REPEAT AT 60}
  4497. This command loads the file called 'pic.xxxx' with xxxx as the picture of
  4498. the animation which is generated. So if the processor generates the first
  4499. picture of the anim LOADIMAGE will load pic.0001. For pic 60 of the anim
  4500. pic.0060 will be loaded.
  4501. With repeat you choose which is the last picture. Afterwards LOADIMAGE will
  4502. restart the index with 1.
  4503. We use the buffer Temp1 for loading. With the 8 Buffers and the Strem we
  4504. can combine 9 animations in an very easy way!
  4505. Scale:
  4506. {INPUT Temp1}   ... input picture
  4507. {OUTPUT Temp1}  ... Output picture
  4508. {WIDTH breite}  ... width of the picture
  4509. {HEIGHT hoehe}  ... height of the picture
  4510. {TYPE pixels}   ... Values in Pixel
  4511. {ASPECT ignore} ... Aspect will be ignored
  4512. The temp-picture from the CHB anim will be scaled to the size we set in the
  4513. variables "breite" and "hoehe".
  4514. Compose:
  4515. {BACKGROUND Stream}  ... backgrund pictures from animation CHA
  4516. {FOREGROUND Temp1}   ... foregrund pictures from animation CHB
  4517. {DESTINATION Stream} ... output to the Stream
  4518. {ALPHA none}         ... Alpha chanal
  4519. {LEFT left}          ... left Position
  4520. {TOP top}            ... top oben
  4521. {MIX 100}            ... Mix = 100 ... you see only the anim in front!
  4522. The background of the animation CHB is black. We want the background of the
  4523. CHB anim to be masked out, so we see the anim CHA in the background.
  4524. {CENTREX off}        ... pics will NOT be centred
  4525. {CENTREY off}        ... pics will NOT be centred
  4526. {GENLOCK SingleColor}  ... you can see through one color
  4527. {ALL RGB-VALUES  0}    ... we choose the black color!
  4528. Ready, steady, convert!
  4529. Let`s move to @{" Part 6 " LINK Tut1-Teil6}.
  4530. @ENDNODE
  4531. @NODE Tut1-Teil6 "Part 6"
  4532. chab_scale.yafa
  4533. This animation part is almost like the chab_wipe.yafa anim! Only the size
  4534. and position of the chb pictures differ!
  4535. {wftut:halve_size/results/chab_scale.yafa}
  4536. Variable:      breite
  4537. Points:         2
  4538. Nr. 1:          0,   88  [176] ... halve size at the start
  4539. Nr. 2:         60,  176  [352] ... full size at the end!
  4540. Interpolation: linear
  4541. Variable:      hoehe
  4542. Points:         2
  4543. Nr. 1:          0,   72  [144] ... halve size at the start
  4544. Nr. 2:         60,  144  [288] ... full size at the end!
  4545. Interpolation: linear
  4546. Variable:      left
  4547. Points:         2
  4548. Nr. 1:          0,   44  [88] ... Start -> CHB centred
  4549. Nr. 2:         60,    0       ... End   -> CHB left
  4550. Interpolation: linear
  4551. Variable:      top
  4552. Points:         2
  4553. Nr. 1:          0,   36  [72] ... Start -> CHB centred
  4554. Nr. 2:         60,    0       ... End   -> CHB top
  4555. Interpolation: linear
  4556. Now add the following effects:
  4557. {ADD LOADIMAGE}
  4558. {ADD SCALE}
  4559. {ADD COMPOSE}
  4560. Make the following selections:
  4561. Loadimage:
  4562. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4563. {OUTPUT Temp1}
  4564. {REPEAT AT 60}
  4565. Scale:
  4566. {INPUT Temp1}   ... input picture
  4567. {OUTPUT Temp1}  ... Output picture
  4568. {WIDTH breite}  ... width
  4569. {HEIGHT hoehe}  ... height
  4570. {TYPE pixels}   ... Values in Pixel
  4571. {ASPECT ignore} ... Aspect will be ignored
  4572. Compose:
  4573. {BACKGROUND Stream}
  4574. {FOREGROUND Temp1}
  4575. {DESTINATION Stream}
  4576. {LEFT left}
  4577. {TOP top}
  4578. {MIX 100}
  4579. {CENTREX off}        ... pics will NOT be centred
  4580. {CENTREY off}        ... pics will NOT be centred
  4581. {GENLOCK SingleColor}
  4582. {ALL RGB-VALUES  0}
  4583. Start CONVERT!
  4584. Do you feel it?
  4585. Move on to @{" Part 7 " LINK Tut1-Teil7}.
  4586. @ENDNODE
  4587. @NODE Tut1-Teil7 "Part 7"
  4588. chab_fade.yafa
  4589. Both animations are now full size. In front is chb. We can look through the
  4590. background of chb and see cha. Cha will now be fadet out and a little bit
  4591. displaced.
  4592. {wftut:halve_size/results/chab_fade.yafa}
  4593. Variable:      probability
  4594. Points:         3
  4595. Nr. 1:          0,   0  ... probability for displacing a point
  4596. Nr. 2:         59,   0
  4597. Nr. 3:         60, 100
  4598. Interpolation: bezier
  4599. Variable:      brightness
  4600. Points:         3
  4601. Nr. 1:          0,   0  ... brigthness of CHA.
  4602. Nr. 2:         59, -10
  4603. Nr. 3:         60, -60
  4604. Interpolation: bezier
  4605. Variable:      radius
  4606. Points:         3
  4607. Nr. 1:          0,   0  ... radius within the points will be displaced
  4608. Nr. 2:         60,  20
  4609. Interpolation: linear
  4610. We add the following effects ...
  4611. {ADD LOADIMAGE}
  4612. {ADD DISPLACE}
  4613. {ADD BALANCING}
  4614. {ADD COMPOSE}
  4615. ... and make these selections:
  4616. Loadimage:
  4617. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4618. {OUTPUT Temp1}
  4619. {REPEAT AT 60}
  4620. Displace:
  4621. {INPUT Stream}              ... input Pictures of Anim CHA
  4622. {OUTPUT Stream}             ... output Stream
  4623. {RADIUS Radius}             ... displace-radius
  4624. {PROBABILITY probability}   ... displace probability
  4625. {SEED probability}          ... start value for randomize
  4626. Balancing:
  4627. {INPUT Stream}        ... input picture
  4628. {OUTPUT Stream}       ... output picture
  4629. {alles auf 0}
  4630. {BRIGHT brightness}   ... brightness of anim CHA
  4631. Compose:
  4632. {BACKGROUND Stream}
  4633. {FOREGROUND Temp1}
  4634. {DESTINATION Stream}
  4635. {LEFT 0}
  4636. {TOP 0}
  4637. {MIX 100}
  4638. {CENTREX off}        ... pics will NOT be centred
  4639. {CENTREY off}        ... pics will NOT be centred
  4640. {GENLOCK SingleColor}
  4641. {ALL RGB-VALUES  0}
  4642. After this settings we start converting.
  4643. Let`s come to @{" Part 8 " LINK Tut1-Teil8}.
  4644. @ENDNODE
  4645. @NODE Tut1-Teil8 "Part 8"
  4646. chb.yafa
  4647. The animation will be generated without effects.
  4648. {PROCESSOR CLEAR}
  4649. The processor settings stay the same.
  4650. {MODE Color}
  4651. {DITHERING Floyd}
  4652. {DEPTH 5}
  4653. We have to use new INPUT-SINGLE PICTURES, as we don`t need the cha pictures
  4654. anymore!
  4655. {REMOVE RANGE}
  4656. There should be no more entries. Now ...
  4657. {ADDDIR wftut:halve_size/frames/chB}
  4658. Select ...
  4659. {wftut:halve_size/results/chb.yafa}
  4660. as output name and convert.
  4661. Now you reached the last part, @{" Part 9 " LINK Tut1-Teil9}.
  4662. @ENDNODE
  4663. @NODE Tut1-Teil9 "Part 9"
  4664. chb_fade.yafa
  4665. The animation CHB will be fadet out!
  4666. {wftut:halve_size/results/chb_fade.yafa}
  4667. Variable:      brightness
  4668. Points:         3
  4669. Nr. 1:          0,   0  ... brightness of animation CHB.
  4670. Nr. 2:         59, -10
  4671. Nr. 3:         60, -60
  4672. Interpolation: bezier
  4673. In the processor we ...
  4674. {ADD BALANCING}
  4675. ... and make the following selections
  4676. Balancing:
  4677. {INPUT Stream}        ... input picture
  4678. {OUTPUT Stream}       ... Output picture
  4679. {alles auf 0}
  4680. {BRIGHT brightness}  ... Helligkeit der Anim CHA
  4681. Now CONVERT.
  4682. Congratulations! You just generated all the needed animations! Now lets add
  4683. a small @{" Script " LINK Tut1-Script} to play the animations.
  4684. @ENDNODE
  4685. @NODE Tut1-Script "Script"
  4686. We start the editor:
  4687. {EDITOR}
  4688. We add all the generated animations to the list.
  4689. {ADD cha_wipe.yafa}
  4690. {ADD cha.yafa}
  4691. {ADD cha_rotate.yafa}
  4692. {ADD cha_twirl.yafa}
  4693. {ADD chab_wipe.yafa}
  4694. {ADD chab_scale.yafa}
  4695. {ADD chab_fade.yafa}
  4696. {ADD chb.yafa}
  4697. {ADD chb_fade.yafa}
  4698. Using INFO we make some settings for every animation:
  4699. {DISPLAY Zoomed} 2x2 zooming of the anims, or not.
  4700. {BUFFERS 4}      only 4 buffers, so we dont use too much memory
  4701. Choose these settings for all animations.
  4702. Now use
  4703. {PLAY ALL}
  4704. for playing the animations. Press {AMIGA M} and look at the memory. You
  4705. should have some empty fast-memory, otherwise you should change your
  4706. settings and use only 3 buffers for every animation!
  4707. The zooming, decrunching etc. works faster in the FAST memory!
  4708. Lets save the project!
  4709. {PROJECT wftut:halve_size/Wildfire.prj}
  4710. {SAVE}
  4711. With the external @{" YAFA " link yp.guide/MAIN} Player we can now play this
  4712. animations every time we want. Wildfire is
  4713. not necessary for playing the animations! YP (the player) can be downloaded
  4714. from the internet by everyone!
  4715. {YP -batch wftut:halve_size/Wildfire.prj}
  4716. Now you saw how to wor with some important functions of Wildfire.
  4717. For learning more about this great program read the documenation and test
  4718. the great possibilities of it!
  4719. Thank you for using this tutorial!
  4720. @ENDNODE
  4721. @remark /*************************************************************/
  4722. @remark /*
  4723. @remark                            Demos
  4724. @remark */
  4725. @remark /*************************************************************/
  4726. @node Demos
  4727.                           W K  -  A r t w o r k s
  4728.                             in cooperation with
  4729.                                  since april 92
  4730.                 .    ___ _   - the immortal force -  .
  4731.                 :   /\         _ _            _      :_ __         ___ _
  4732.             ___/|  /_ \_______/\_____________/\_____/|____________/\
  4733.            /\   | /  \ \   __/  \       / ____/   .__|__   _       /
  4734.           /  \  |/    \ \_ \/    \_____/.__/ \    |    |  /   :   /
  4735.          /    \_/      \    \   .___/   | /   \        |\/    |__/_ ___
  4736.         /       \      /    /   | | \    /     \       |/     : \
  4737.      .oO\  _____|\____/\_  /\_____|Oo\  _______/_______|\  _____/___ _
  4738.          \/__ _ :        \/_      :-Z!\/_ _    :       : \/__ _
  4739.                    
  4740. -----------------------------------------------------------------------------
  4741.         INFECT A PART OF LIFE ELEMENTS - A RELIGION CAN'T DIE !
  4742. @{b}           The following releases were made using Wildfire:
  4743. @{ub}
  4744.       @{" Dataworld 1 " link dw1}
  4745.       @{" Wild Summer " link ws1}
  4746.       @{" Dataworld 2 " link dw2}
  4747. @endnode
  4748. @node dw1
  4749.   Dataworld was released at The Party 1995 in Fredericia/Denmark.
  4750.   It finished second in the Wild Competition - a competition where
  4751.   no Hardware restrictions were given.
  4752.   With only 70 MB of (hard/cd)diskspace you will get
  4753.   a 10 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4754.   A1200 with 4 MB of Fast Ram to run.
  4755.   Dataworld consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4756.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  4757.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4758.   played without interruption, even on a standard 4x CD rom!
  4759.   Dataworld can be found on:
  4760.   Aminet CD 11  (everything archived)
  4761.   MagnaMedia Amiga Magazin CD 5/6 96 (run from cd)
  4762.   CU amiga coverdisk 04/96 (run from cd)
  4763.   Scene Storm CD 1 (run from cd, use the fix IFT-SFIX.lha)
  4764.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4765.   You can get it from the Aminet or from different coverdisks.
  4766.   Dataworld is copyrighted to:
  4767.   WK-Artworks                  (animations, Wildfire concept)
  4768.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4769.   DJ Mellow-Noise/Infect       (music)
  4770.   Eksec/Infect                 (executive producing)
  4771. @endnode
  4772. @node ws1
  4773.   WiLD SuMMeR was released at `The Summer Party 96` in Denmark.
  4774.   It finished second in the Wild Competition - a competition without any
  4775.   Hardware-restrictions.
  4776.   With only 30 MB Place on CD/HD you`ll get a 4 Minutes full-screen Video
  4777.   which runs on an - todays - standard A1200 (at least 4 MB Fast).
  4778.   WilD SuMMeR consists of over 20 @{" YAFA " link yp.guide/MAIN} Animations, which
  4779.   were created using the great Wildfire.
  4780.   Using the latest @{" YAFA " link yp.guide/MAIN} player you can watch the show
  4781.   even from a ZIP-Drive or a 4X Speed CD-Rom without any gaps between the
  4782.   animations.
  4783.   WiLD SuMMeR is available on:
  4784.   Aminet CD 13                        (all animations archived)
  4785.   CU Amiga Cover CD                   (run from cd)
  4786.   MagnaMedia Amiga Magazin CD 3/4 97  (run from cd)
  4787.   WiLD SuMMeR copyrighted to:
  4788.   WK-Artworks                  (Animations, Wildfire concept)
  4789.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4790.   DJ Mellow-Noise/Infect       (Music)
  4791.   Eksec/Infect                 (Executive Producing)
  4792. @endnode
  4793. @node dw2
  4794.   Dataworld 2 was released at The Party 1996 in Aars/Denmark.
  4795.   With 150 MB of (hard/cd)diskspace you will get a
  4796.   12 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4797.   A1200 with 4 MB of Fast Ram to run.
  4798.   Dataworld 2 consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4799.   linked smoothly together using the great @{" Wildfire " link Wildfire.guide/MAIN}.
  4800.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4801.   played without interruption, even on a standard 6x CD rom!
  4802.   Dataworld 2 can be found on:
  4803.   MagnaMedia Amiga Magazin CD 3/4 97 (run from cd)
  4804.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4805.   You can get it from the Aminet or from different coverdisks.
  4806.   Dataworld 2 is copyrighted to:
  4807.   WK-Artworks                  (animations, Wildfire concept)
  4808.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4809.   DJ Mellow-Noise/Infect       (music)
  4810.   Eksec/Infect                 (executive producing)
  4811. @endnode
  4812. @remark /*************************************************************/
  4813. @remark /*
  4814. @remark                            Technical stuff
  4815. @remark */
  4816. @remark /*************************************************************/
  4817. @node Technical
  4818. @{b}Technical stuff: @{ub}
  4819. Wildfire is a very complex program written in pure ANSI-C.
  4820. Because most of the Amiga-compilers are not capable to produce
  4821. fast and small code from the source code consisting of
  4822. about 160 modules (including all  PlugIns) we decided to
  4823. use GCC.
  4824. One of these other "compilers" was even not able to *translate*
  4825. some portions of the ANSI-C-code - which is really poor.
  4826. GCC on the other side compiles all 160 modules producing
  4827. only 6 warnings.
  4828. The GUI was completely designed using GadToolsBox, Wildfire 3.05
  4829. has 129 windows which contain 1724 gadgets (including all PlugIns).
  4830. This complexity makes it impossible to use one of these
  4831. "intelligent GUI-designers" because of the large overhead they
  4832. produce.
  4833. The main program was always designed for speed and not to
  4834. conserve memory (You can buy computers, memory, ...- but no time).
  4835. All 3d-operators are optimized to use a fpu. That means they
  4836. operate fast on systems with fpu but may be worthless on other
  4837. systems. (For example a combination (PowerPlugs!) of a Bump3D-
  4838. and a Wrap-effect applied to an image of the dimensions 640x480
  4839. takes only 30 seconds on a 060-equipped machine.)
  4840. Because most floating-point-operations on the 060-processor
  4841. are faster than integer-manipulations I decided to use
  4842. "natural code" instead of cryptic integer-manipulations.
  4843. On the other side most 2d-operators are designed to be
  4844. fast on all machines. This made is necessary to replace
  4845. all floating-point-operations by integer-manipulations like
  4846. "luxa[j]=(WORD)((((dx2*ca+dy2*sa+VPREC2)>>SPREC)+cx+VPREC2)>>SPREC);".
  4847. As you can see we have put a lot work into this project,
  4848.           @{b}PLEASE DON'T USE OR SPREAD PIRATE COPIES !@{ub}
  4849. @endnode
  4850.